前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >盘点一个Python自动化办公需求——把指定sheet文件数据插入到word指定位置

盘点一个Python自动化办公需求——把指定sheet文件数据插入到word指定位置

作者头像
Python进阶者
发布2024-07-08 12:32:38
1050
发布2024-07-08 12:32:38
举报
文章被收录于专栏:Python爬虫与数据挖掘

大家好,我是Python进阶者。

一、前言

前几天在Python最强王者交流群【哎呦喂 是豆子~】问了一个Python自动化办公的问题,问题如下:大佬们 有没有什么案例可以参考的呀 要把指定sheet文件数据插入到word指定位置 但是数据插入是不带格式框线的 直接就只有文字插入进去 然后网上和ai的教程无法实现我要的效果

代码如下:

代码语言:javascript
复制
from docxtpl import DocxTemplate
import pandas as pd
df = pd.read_clipboard()
"""
到期日 收款账号 打款额
350,000.00 NaN 15265838740016
100,000.00 2023/07/06 15265838740016
60,000.00 2023/08/13 15265838740016
270,000.00 2023/09/10 15265838740016
"""
context = {
        "table": df,
    }
docx = DocxTemplate('报告-模板.docx')
   # 把键值对所对应的值赋予给键 render 赋予的意思
docx.render(context)
docx.save(r"报告-更新.docx")

二、实现过程

这里【莫生气】给了个他自己的自动化办公案例,可能对于问题解决并没有太大的参考价值,毕竟是两个不同的需求。

后来【隔壁😼山楂】逆向思路,直接修改了word模版,然后还是沿用粉丝的代码,顺利地解决了需求。

优化后的代码如下:

代码语言:javascript
复制
from docxtpl import DocxTemplate

tpl = DocxTemplate('templates/dynamic_table_tpl.docx')

context = {
    'col_labels': ['fruit', 'vegetable', 'stone', 'thing'],
    'tbl_contents': [
        {'label': 'yellow', 'cols': ['banana', 'capsicum', 'pyrite', 'taxi']},
        {'label': 'red', 'cols': ['apple', 'tomato', 'cinnabar', 'doubledecker']},
        {'label': 'green', 'cols': ['guava', 'cucumber', 'aventurine', 'card']},
    ],
}

tpl.render(context)
tpl.save('output/dynamic_table.docx')

顺利地解决了粉丝的问题,给粉丝节约了时间、金钱和精力,非常奈斯。这个宝藏群,大家值得加入!

如果你也有类似这种Python相关的小问题,欢迎随时来交流群学习交流哦,有问必答!

三、总结

大家好,我是Python进阶者。这篇文章主要盘点了一个Python自动化办公的问题,文中针对该问题,给出了具体的解析和代码实现,帮助粉丝顺利解决了问题。

最后感谢粉丝【哎呦喂 是豆子~】提出的问题,感谢【隔壁😼山楂】给出的思路,感谢【莫生气】等人参与学习交流。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-06-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python爬虫与数据挖掘 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、前言
  • 二、实现过程
  • 三、总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档