【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つ目の表にアクセスすることができます。
スポンサーリンク