非IT企業に勤める中年サラリーマンのIT日記

非IT企業でしかもITとは全く関係ない部署にいる中年エンジニア。唯一の趣味がプログラミングという”自称”プログラマー。

【Python】Microsoft Wordの表の指定場所に文字を入力する

   

PythonでWord文書の表に文字を入力する方法について、python-docxというライブラリを使うのが便利です。このライブラリを使用すると、Word文書(.docx形式)の読み書きが簡単にできます。

以下では、既存のWord文書に含まれる表に文字を入力する手順をご紹介します。

 

ライブラリのインストール

まず、python-docxがインストールされていない場合は、以下のコマンドでインストールしてください。

pip install python-docx
 

 

Word文書の表に文字を入力するサンプルコード

from docx import Document

# 既存のWord文書を読み込む
doc = Document(r"C:\Users\satos\Dropbox\_Source\Python\Word\文書1.docx")

# 文書内の表にアクセス
tables = doc.tables

# 1つ目の表がある場合、その表にアクセス
if tables:
    table = tables[0]  # 最初の表を選択
    
    # 表の行と列を指定して文字を入力
    table.cell(0, 0).text = 'Hello, World!'  # 1行目1列目のセル
    table.cell(1, 1).text = 'Python-docx'    # 2行目2列目のセル

# 変更を保存
doc.save('output.docx')
print("表に文字を入力しました!")
 

 

コードの説明

  • Document(‘sample.docx’): 既存のWordファイルを読み込みます。
  • tables = doc.tables: 文書内のすべての表をリストとして取得します。
  • table.cell(row, col).text: 指定したセル(行と列)に文字列を入力します。
  • 行と列のインデックスは0から始まるので注意してください。
  • doc.save(‘output.docx’): 変更内容を新しいWordファイルとして保存します。

実行結果

実行結果は以下のとおりです。ちゃんと指定した表に文字を入力することができました。

 

4. 注意点

python-docxは.docx形式のファイルしか扱えません。.doc形式のファイルを使用している場合は、事前に.docx形式に変換してください。

表が複数ある場合は、tables[1]のようにして2つ目の表にアクセスすることができます。

 

スポンサーリンク

 - Python