盤點(diǎn)一個(gè)Python自動(dòng)化辦公需求——把指定sheet文件數(shù)據(jù)插入到word指定位置
共 3285字,需瀏覽 7分鐘
·
2024-06-28 09:51
回復(fù)“書籍”即可獲贈(zèng)Python從入門到進(jìn)階共10本電子書
大家好,我是Python進(jìn)階者。
一、前言
前幾天在Python最強(qiáng)王者交流群【哎呦喂 是豆子~】問(wèn)了一個(gè)Python自動(dòng)化辦公的問(wèn)題,問(wèn)題如下:大佬們 有沒(méi)有什么案例可以參考的呀 要把指定sheet文件數(shù)據(jù)插入到word指定位置 但是數(shù)據(jù)插入是不帶格式框線的 直接就只有文字插入進(jìn)去 然后網(wǎng)上和ai的教程無(wú)法實(shí)現(xiàn)我要的效果
代碼如下:
from docxtpl import DocxTemplate
import pandas as pd
df = pd.read_clipboard()
"""
到期日 收款賬號(hào) 打款額
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('報(bào)告-模板.docx')
# 把鍵值對(duì)所對(duì)應(yīng)的值賦予給鍵 render 賦予的意思
docx.render(context)
docx.save(r"報(bào)告-更新.docx")
二、實(shí)現(xiàn)過(guò)程
這里【莫生氣】給了個(gè)他自己的自動(dòng)化辦公案例,可能對(duì)于問(wèn)題解決并沒(méi)有太大的參考價(jià)值,畢竟是兩個(gè)不同的需求。
后來(lái)【隔壁??山楂】逆向思路,直接修改了word模版,然后還是沿用粉絲的代碼,順利地解決了需求。
優(yōu)化后的代碼如下:
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')
順利地解決了粉絲的問(wèn)題,給粉絲節(jié)約了時(shí)間、金錢和精力,非常奈斯。這個(gè)寶藏群,大家值得加入!
如果你也有類似這種Python相關(guān)的小問(wèn)題,歡迎隨時(shí)來(lái)交流群學(xué)習(xí)交流哦,有問(wèn)必答!
三、總結(jié)
大家好,我是Python進(jìn)階者。這篇文章主要盤點(diǎn)了一個(gè)Python自動(dòng)化辦公的問(wèn)題,文中針對(duì)該問(wèn)題,給出了具體的解析和代碼實(shí)現(xiàn),幫助粉絲順利解決了問(wèn)題。
最后感謝粉絲【哎呦喂 是豆子~】提出的問(wèn)題,感謝【隔壁??山楂】給出的思路,感謝【莫生氣】等人參與學(xué)習(xí)交流。
【提問(wèn)補(bǔ)充】溫馨提示,大家在群里提問(wèn)的時(shí)候??梢宰⒁庀旅鎺c(diǎn):如果涉及到大文件數(shù)據(jù),可以數(shù)據(jù)脫敏后,發(fā)點(diǎn)demo數(shù)據(jù)來(lái)(小文件的意思),然后貼點(diǎn)代碼(可以復(fù)制的那種),記得發(fā)報(bào)錯(cuò)截圖(截全)。代碼不多的話,直接發(fā)代碼文字即可,代碼超過(guò)50行這樣的話,發(fā)個(gè).py文件就行。
大家在學(xué)習(xí)過(guò)程中如果有遇到問(wèn)題,歡迎隨時(shí)聯(lián)系我解決(我的微信:pdcfighting1),應(yīng)粉絲要求,我創(chuàng)建了一些高質(zhì)量的Python付費(fèi)學(xué)習(xí)交流群和付費(fèi)接單群,歡迎大家加入我的Python學(xué)習(xí)交流群和接單群!
小伙伴們,快快用實(shí)踐一下吧!如果在學(xué)習(xí)過(guò)程中,有遇到任何問(wèn)題,歡迎加我好友,我拉你進(jìn)Python學(xué)習(xí)交流群共同探討學(xué)習(xí)。
------------------- End -------------------
往期精彩文章推薦:
歡迎大家點(diǎn)贊,留言,轉(zhuǎn)發(fā),轉(zhuǎn)載,感謝大家的相伴與支持
想加入Python學(xué)習(xí)群請(qǐng)?jiān)诤笈_(tái)回復(fù)【入群】
萬(wàn)水千山總是情,點(diǎn)個(gè)【在看】行不行
/今日留言主題/
隨便說(shuō)一兩句吧~~
