| 
 | 
 
 
 楼主 |
发表于 2021-9-15 21:29:29
|
显示全部楼层
 
 
 
- import pandas as pd
 
 - from docxtpl import DocxTemplate
 
 - from docx.enum.table import WD_TABLE_ALIGNMENT # 导入表格对齐方式
 
 - from docx.shared import Cm # 导入单位转换函数
 
 - from docx.oxml.ns import qn # 中文字体
 
 - from docx import Document
 
 - 路径=r'8新新增的分公司分局表格.xlsx'
 
 - 原始数据=pd.read_excel(路径,index_col='分公司')
 
 - # print(数据)
 
 - 文件 = DocxTemplate(r'报告模板 - 副本.docx')
 
 - 需要的列表数据=原始数据.loc['璧山'].values.tolist()  #需要的列表数据 无表头,需要额外添加
 
 - print(需要的列表数据)
 
 - 行=len(需要的列表数据)
 
 - 列=len(需要的列表数据[0])
 
 - # print((列))
 
 - 表 = 文件.add_table(行+1, 列, style="Table Grid")
 
 - 表.alignment = WD_TABLE_ALIGNMENT.CENTER # 设置表格为对齐
 
 - 表头列表=['分局','5G竞有我无基站数量']
 
 - # 录入表头数据
 
 - for 表头列 in range(列):
 
 -     表.cell(0, 表头列).text = 表头列表[表头列]  # ['分局','5G竞有我无基站数量']里面的第几个
 
 - # 录入数据
 
 - for 行 in range(行):
 
 -     # print(行)
 
 -     for 列真实值 in range(列): # 遍历列
 
 -         # print(列真实值)
 
 -         # print(需要的列表数据[行][列])
 
 -         表.cell(行+1, 列真实值).text=str(需要的列表数据[行][列真实值]) # 数据中每一行是一个列表,每一列是一个元素  失败了
 
 -         print(表.cell(行+1, 列真实值).text)
 
  
- 文件.save(r'13.docx')
 
  复制代码 
 
我先用pandas读取出来,然后筛选插入表格也实现了,但是不能插入到指定的段落中,我看了下全部插入在段尾 |   
 
 
 
 |