将 Excel 数据转 Word 表格

本帖解决的是将 Excel 里的数据,写入 Word 表格。

  • 涉及到的知识点:

    1. 读 Excel,并转化为列表形式;
    2. 写 Word 表格
  • 注意点:

    1. 读 Excel 中,遇到空值,读出来为 nan, 这里需要改变一下,遇到值为 nan 的,需转化为 “ ”;
  • excel 中部分数据如下图:
    将 Excel 数据转 Word 表格

  • 实现结果,Word 中部分呈现如下:
    将 Excel 数据转 Word 表格

代码如下:

from docx import Document
import pandas as pd 


def excel_word_table(file_path,save_path):
  df1 = pd.read_excel(io=file_path,header=None)
  df2 = df1.values.tolist()
  df1.columns=list(df1.columns)
  df1.index=list(df1.index)
  d=Document()
  tb=d.add_table(rows=len(df1.index)-1,cols=len(df1.columns))
  tb.add_row()
  for row in range(0,len(df1.index)):
	  for col in range(len(df1.columns)):
		  tb.cell(row, col).text = str(df2[row][col])
  tb.style="Table Grid"
  tb.autofit=True
  print("已完成Excel数据填写至Word表格")
  d.save(save_path)