python wordテーブルをexcelに転送
5534 ワード
Notes
ワードファイルのいくつかのテーブルをexcelファイルに転送し、その後excelで処理したいです.
code
References python-docx python wordドキュメント表のデータを読み込む PandasとEXCELのデータ読み込み/保存/ファイル分割/ファイルマージ Python Pandas読み込み修正エクセル操作攻略 python 3 pandas読み書きexcel
ワードファイルのいくつかのテーブルをexcelファイルに転送し、その後excelで処理したいです.
python-docx
およびpandas
wordとexcelをそれぞれ処理する.python-docxのインストール:pip install python-docx
ファイルは受け付けません.doc
ファイルは、先に.docx
に転送します.以下、test.docx
から読み込み、test.xlsx
まで書きます.code
from docx import Document
import pandas as pd
word = 'test.docx'
excel = 'test.xlsx'
doc = Document(word) # word
xls = pd.ExcelWriter(excel) # excel
tables = doc.tables # word tables
# print(tables)
# tb = tables[0] # table
# print(dir(tb))
# print(len(tb.rows), len(tb.columns)) # 、
for i, tb in enumerate(tables):
mat = [] # list list
for r in range(1, len(tb.rows)):
row = []
for c in range(1, len(tb.columns)):
cell = tb.cell(r, c)
txt = cell.text if cell.text != '' else ' ' #
row.append(txt)
mat.append(row)
# mat DataFrame
df = pd.DataFrame(mat)
# print(df)
# DataFrame excel sheet
# index header( , )
df.to_excel(xls, sheet_name=f'{i}', index=False, header=False)
xls.save() #
xls.close() #
References