我想将excel文件中的数据转换为word文件中的表格,所以我使用pandas,我可以复制表格世界中每个单元格的内容,问题是单元格复制的内容没有样式有什么办法吗它,我尝试过使用以下代码:
import pandas as pd
from docx import Document
df = pd.read_excel("file_excel.xlsx")
data_excel_to_list = df.values.tolist()
doc=Document("file_word.docx")
table=doc.tables[0]
table.cell(0,0).text=data_excel_to_list[0][0]
table.cell(0,1).text=data_excel_to_list[0][1]
table.cell(1,0).text=data_excel_to_list[1][0]
table.cell(1,1).text=data_excel_to_list[1][1]
doc.save("file_word.docx")
使用 python-docx https://pypi.org/project/python-docx/
import pandas as pd
from docx import Document
from docx.shared import Pt
df = pd.read_excel("file_excel.xlsx")
data_excel_to_list = df.values.tolist()
doc = Document()
num_rows, num_cols = df.shape
table = doc.add_table(rows=num_rows + 1, cols=num_cols)
for col_num, col_name in enumerate(df.columns):
table.cell(0, col_num).text = col_name
table.cell(0, col_num).paragraphs[0].runs[0].bold = True
for row_num, row_data in enumerate(data_excel_to_list):
for col_num, cell_value in enumerate(row_data):
table.cell(row_num + 1, col_num).text = str(cell_value)
table.cell(row_num + 1, col_num).paragraphs[0].runs[0].font.size = Pt(10)
table.cell(row_num + 1, col_num).paragraphs[0].runs[0].italic = True
doc.save("file_word.docx")