鱼C论坛

 找回密码
 立即注册
查看: 1566|回复: 6

python如何实现excel表格筛选,然后并插入筛选后的表格

[复制链接]
发表于 2021-9-14 14:00:15 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
最近工作有这样一个需求:
需要从原始的excel表格中,筛选出对应分公司的数据,然后把部分筛选后的数据插入在word指定的区域;
20210914135830.png
需要筛选的图片.png

怎么实现了,头都大了
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2021-9-14 14:11:39 | 显示全部楼层

回帖奖励 +2 鱼币

路过了哦  
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-9-14 15:22:48 | 显示全部楼层
目前进度用pands读取到了数据,但是接下来做数据的写入到word遇到了问题,没找到好的解决方法
  1. import pandas as pd

  2. 路径=r'8新新增的分公司分局表格.xlsx'
  3. 数据=pd.read_excel(路径,index_col='分公司')
  4. print(数据.loc['忠县'])
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-9-14 19:04:32 | 显示全部楼层
一坨屎吖 发表于 2021-9-14 15:22
目前进度用pands读取到了数据,但是接下来做数据的写入到word遇到了问题,没找到好的解决方法

可以去了解一下 python-docx
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-9-15 10:28:05 | 显示全部楼层
阿奇_o 发表于 2021-9-14 19:04
可以去了解一下 python-docx

嗯嗯,正在学习这个库
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-9-15 13:01:14 | 显示全部楼层
关键在应用
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-9-15 21:29:29 | 显示全部楼层
阿奇_o 发表于 2021-9-14 19:04
可以去了解一下 python-docx
  1. import pandas as pd
  2. from docxtpl import DocxTemplate
  3. from docx.enum.table import WD_TABLE_ALIGNMENT # 导入表格对齐方式
  4. from docx.shared import Cm # 导入单位转换函数
  5. from docx.oxml.ns import qn # 中文字体
  6. from docx import Document
  7. 路径=r'8新新增的分公司分局表格.xlsx'
  8. 原始数据=pd.read_excel(路径,index_col='分公司')
  9. # print(数据)
  10. 文件 = DocxTemplate(r'报告模板 - 副本.docx')
  11. 需要的列表数据=原始数据.loc['璧山'].values.tolist()  #需要的列表数据 无表头,需要额外添加
  12. print(需要的列表数据)
  13. 行=len(需要的列表数据)
  14. 列=len(需要的列表数据[0])
  15. # print((列))
  16. 表 = 文件.add_table(行+1, 列, style="Table Grid")
  17. 表.alignment = WD_TABLE_ALIGNMENT.CENTER # 设置表格为对齐
  18. 表头列表=['分局','5G竞有我无基站数量']
  19. # 录入表头数据
  20. for 表头列 in range(列):
  21.     表.cell(0, 表头列).text = 表头列表[表头列]  # ['分局','5G竞有我无基站数量']里面的第几个
  22. # 录入数据
  23. for 行 in range(行):
  24.     # print(行)
  25.     for 列真实值 in range(列): # 遍历列
  26.         # print(列真实值)
  27.         # print(需要的列表数据[行][列])
  28.         表.cell(行+1, 列真实值).text=str(需要的列表数据[行][列真实值]) # 数据中每一行是一个列表,每一列是一个元素  失败了
  29.         print(表.cell(行+1, 列真实值).text)

  30. 文件.save(r'13.docx')
复制代码


我先用pandas读取出来,然后筛选插入表格也实现了,但是不能插入到指定的段落中,我看了下全部插入在段尾
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-18 16:06

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表