チュートリアル

簡単にライブラリーを使用するためのチュートリアルコレクション

チュートリアル»Python»Spire.Doc for Python»»Python:Word 文書の表で行や列を追加・削除する方法
2025-03-11

Python:Word 文書の表で行や列を追加・削除する方法

Word 文書の表に行や列を追加・削除することで、データの構造を適切に調整できます。行や列を追加することで、データの増加に対応し、必要な情報をすべて表示できるようになります。一方で、不必要な行や列を削除すれば、表を整理し、文書の冗長な情報を削減できます。本記事では、Spire.Doc for Python を使用して、Python で Word 文書の表に行や列を追加・削除する方法を解説します。

Spire.Doc for Python のインストール

この操作には、Spire.Doc for Python と plum-dispatch v1.7.4 が必要です。これらは、Spire.Doc for Python の公式ウェブサイトから手動でダウンロードするか、以下の pip コマンドでインストールできます。

pip install Spire.Doc

Python で Word の表に行を追加または挿入する

Word の表に行を追加するには、表の末尾に追加する方法と、特定の位置に挿入する方法があります。これには Table.AddRow() または Table.InsertRow() メソッドを使用します。以下の手順で実装できます。

  • Document オブジェクトを作成します。
  • Document.LoadFromFile() メソッドを使用して Word 文書を読み込みます。
  • Document.Sections[] プロパティを使用して最初のセクションを取得します。
  • Section.Tables[] プロパティを使用してセクション内の最初の表を取得します。
  • Table.Rows.Insert() メソッドを使用して、表の特定の位置に行を挿入します。
  • 挿入した行にデータを追加します。
  • Table.AddRow() メソッドを使用して表の末尾に行を追加します。
  • 追加した行にデータを入力します。
  • Document.SaveToFile() メソッドを使用して、変更を保存します。
  • Python
from spire.doc import Document, Table, HorizontalAlignment, VerticalAlignment

# Document オブジェクトを作成します。
document = Document()
# Word 文書を読み込みます。
document.LoadFromFile("Sample.docx")

# 文書の最初のセクションを取得します。
section = document.Sections[0]

# 最初のセクションの最初のテーブルを取得します。
table = section.Tables[0] if isinstance(section.Tables[0], Table) else None

# テーブルの 3 行目として新しい行を挿入します。
table.Rows.Insert(2, table.AddRow())
# 挿入された行を取得します。
insertedRow = table.Rows[2]
# 行にデータを追加します。
for i in range(insertedRow.Cells.Count):
    cell = insertedRow.Cells[i]
    paragraph = cell.AddParagraph()
    textRange = paragraph.AppendText("挿入された行")
    textRange.CharacterFormat.FontName = "Yu Gothic UI"
    paragraph.Format.HorizontalAlignment = HorizontalAlignment.Left
    cell.CellFormat.VerticalAlignment = VerticalAlignment.Middle

# テーブルの末尾に新しい行を追加します。
addedRow = table.AddRow()
# 行にデータを追加します。
for i in range(addedRow.Cells.Count):
    cell = addedRow.Cells[i]
    paragraph = cell.AddParagraph()
    textRange = paragraph.AppendText("終了行")
    textRange.CharacterFormat.FontName = "Yu Gothic UI"
    paragraph.Format.HorizontalAlignment = HorizontalAlignment.Left
    cell.CellFormat.VerticalAlignment = VerticalAlignment.Middle

# 変更後の文書を保存します。
document.SaveToFile("output/Wordの表に行を追加・挿入.docx")
document.Close()

PythonでWordのテーブルに行を追加・挿入する

Python で Word の表に列を追加または挿入する

Spire.Doc for Python には、Word の表に直接列を追加・挿入するメソッドはありません。しかし、各行の特定の位置にセルを追加・挿入することで実現できます。TableRow.Cells.Add() または TableRow.Cells.Insert() メソッドを使用し、以下の手順で実装します。

  • Document オブジェクトを作成します。
  • Document.LoadFromFile() メソッドを使用して Word 文書を読み込みます。
  • Document.Sections[] プロパティを使用して最初のセクションを取得します。
  • Section.Tables[] プロパティを使用してセクション内の最初の表を取得します。
  • 表の各行をループ処理します。
  • TableCell オブジェクトを作成し、TableRow.Cells.Insert() メソッドを使用して各行の特定の位置に挿入し、セルの幅を設定します。
  • セルにデータを追加し、テキストの配置を設定します。
  • TableRow.AddCell() メソッドを使用して各行の末尾にセルを追加し、セルの幅を設定します。
  • セルにデータを追加し、テキストの配置を設定します。
  • Document.SaveToFile() メソッドを使用して、変更を保存します。
  • Python
from spire.doc import Document, TableCell, Table, HorizontalAlignment, VerticalAlignment, AutoFitBehaviorType

# Document オブジェクトを作成します。
document = Document()
# Word 文書を読み込みます。
document.LoadFromFile("Sample.docx")

# 文書の最初のセクションを取得します。
section = document.Sections[0]

# 最初のセクションの最初のテーブルを取得します。
table = section.Tables[0] if isinstance(section.Tables[0], Table) else None

# テーブルの各行をループ処理します。
for i in range(table.Rows.Count):
    row = table.Rows[i]
    # TableCell オブジェクトを作成します。
    cell = TableCell(document)
    # 行の 3 列目にセルを挿入し、セルの幅を設定します。
    row.Cells.Insert(2, cell)
    cell.Width = row.Cells[0].Width
    # セルにデータを追加します。
    paragraph = cell.AddParagraph()
    textRange = paragraph.AppendText("挿入された列")
    textRange.CharacterFormat.FontName = "Yu Gothic UI"
    # テキストの配置を設定します。
    paragraph.Format.HorizontalAlignment = HorizontalAlignment.Left
    cell.CellFormat.VerticalAlignment = VerticalAlignment.Middle

    # 行の末尾にセルを追加し、セルの幅を設定します。
    cell = row.AddCell()
    cell.Width = row.Cells[1].Width
    # セルにデータを追加します。
    paragraph = cell.AddParagraph()
    textRange = paragraph.AppendText("終了列")
    textRange.CharacterFormat.FontName = "Yu Gothic UI"
    # テキストの配置を設定します。
    paragraph.Format.HorizontalAlignment = HorizontalAlignment.Left
    cell.CellFormat.VerticalAlignment = VerticalAlignment.Middle

# 列を自動調整する
table.AutoFit(AutoFitBehaviorType.AutoFitToContents)

# 変更後の文書を保存します。
document.SaveToFile("output/Wordの表に列を追加・挿入.docx")
document.Close()

Spire.DocでWordの表に行を追加・挿入する

Python で Word の表から行を削除する

Word の表から特定の行を削除するには、Table.Rows.RemoveAt() メソッドを使用します。以下の手順で実装します。

  • Document オブジェクトを作成します。
  • Document.LoadFromFile() メソッドを使用して Word 文書を読み込みます。
  • Document.Sections[] プロパティを使用して最初のセクションを取得します。
  • Section.Tables[] プロパティを使用してセクション内の最初の表を取得します。
  • Table.Rows.RemoveAt() メソッドを使用して、特定の行を削除します。
  • Document.SaveToFile() メソッドを使用して、変更を保存します。
  • Python
from spire.doc import Document, Table

# Document オブジェクトを作成します。
document = Document()
# Word 文書を読み込みます。
document.LoadFromFile("Sample.docx")

# 文書の最初のセクションを取得します。
section = document.Sections[0]

# 最初のセクションの最初のテーブルを取得します。
table = section.Tables[0] if isinstance(section.Tables[0], Table) else None

# 行を削除します。
table.Rows.RemoveAt(1)

# 変更後の文書を保存します。
document.SaveToFile("output/Wordの表から行を削除.docx")
document.Close()

PythonでWordの表から行を削除する

Python で Word の表から列を削除する

Word の表から特定の列を削除するには、各行から対応するセルを削除する必要があります。これには TableRow.Cells.RemoveAt() メソッドを使用します。以下の手順で実装します。

  • Document オブジェクトを作成します。
  • Document.LoadFromFile() メソッドを使用して Word 文書を読み込みます。
  • Document.Sections[] プロパティを使用して最初のセクションを取得します。
  • Section.Tables[] プロパティを使用してセクション内の最初の表を取得します。
  • 表の各行をループ処理します。
  • TableRow.Cells.RemoveAt() メソッドを使用して、各行の特定のセルを削除します。
  • Document.SaveToFile() メソッドを使用して、変更を保存します。
  • Python
from spire.doc import Document, Table

# Document オブジェクトを作成します。
document = Document()
# Word 文書を読み込みます。
document.LoadFromFile("Sample.docx")

# 文書の最初のセクションを取得します。
section = document.Sections[0]

# 最初のセクションの最初のテーブルを取得します。
table = section.Tables[0] if isinstance(section.Tables[0], Table) else None

# テーブルの各行をループ処理します。
for i in range(table.Rows.Count):
    row = table.Rows[i]
    # 列のセルを削除します。
    row.Cells.RemoveAt(2)

# 変更後の文書を保存します。
document.SaveToFile("output/Wordの表から列を削除.docx")
document.Close()

Spire.DocでWordの表から列を削除する

一時ライセンスを申請する

結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。

Read 21 times