在日常工作中,有些時候會有很多重覆的工作,比如批次的替換、報名錶、合同、邀請函等很多格式一樣的檔案,要對這些檔案進行讀寫與彙總,程式員的智慧就是把重覆的工作簡單化,下麵介紹一些經驗彙總,請讀者註意,程式學習最重要的是思想。
作者:老A
如需轉載請聯絡大資料(ID:hzdashuju)
01 模組的安裝和匯入
python-docx模組安裝需要在cmd命令列中輸入:
pip install python-docx
02 讀取已存在的一個事先有內容的測試檔案test1.docx程式碼
import docx
file=docx.Document("/test/test1.docx")
print("段落數:"+str(len(file.paragraphs)))
for para in file.paragraphs:
print(para.text)
for i in range(len(file.paragraphs)):
print("第"+str(i)+"段的內容是:"+file.paragraphs[i].text)
03 檔案中內容批次替換
首先程式是讀取檔案夾下檔案名稱,獲取絕對路徑,按絕對路徑讀取檔案,把讀取的檔案中指定內容進行替換,最後把替換後的內容儲存到另外的檔案夾中:
import os
xmldir='D:/test /test'
xmllist=os.listdir(xmldir)
for xml in xmllist:
if '.txt ' in txt
fo=open(xmldir+'/'+'new_{}'.format(txt),'w')
print('{}'.format(txt))
fi=open(xmldir+'/'+'{}'.format(txt),'r')
content=fi.readlines()
for line in content:
line=line.replace('替換前的內容','替換後的內容')
fo.write(line)
fo.close()
print('替換完成')
04 利用docxtpl將指定資料
本經驗是從test/exce.csv檔案中讀完並寫入到test/合同例子.docx中儲存輸出。
import os
from docxtpl import DocxTemplate
tpl = DocxTemplate('test/合同例子.docx')
context = {
"name": name,
"department": department,
"position": position,
"time": time,
"id": id_card,
"addr": addr,}
tpl.render(context)
tpl.save("{}的合同.docx".format(name))
05 將所有受邀者的公司名和代表姓名填入路徑為test/test_name_list.xlsx的表格
在需要填字的地方打上“***”,然後Python來填字,最後儲存為test/邀請函.docx,下麵程式碼段為讀入資訊,然後寫入word檔案中。
from openpyxl import load_workbook
wb=load_workbook('teset/test_name_list.xlsx')
ws=wb['name']
names=[]
for row in range(2,ws.max_row+1):
company=ws["A"+str(row)].value
name=ws["B"+str(row)].value
names.append(" {} {} ".format(company,name))
doc=docx.Document('test/邀請函.docx')
for name in names:
doc.paragraphs[1].runs[2].text=name
doc.save('test/邀請函_{}.docx'.format(name))
word是坐在電腦前百分之九十的人都會用的辦公軟體,word東西少還好說,手動開啟那樣存入表格也簡單,但是當資料達到幾萬幾十萬、幾百萬大資料級那就恐怖了,如果全靠手動,那麼至少要連上一個月的班了,不能停息的那種!
每天重覆一樣的操作,恐怖嗎?想想都可怕,這時候就是真正體現技術方面的能力了,很多東西都可以自動實現,如果手動的話,真不知道搞到猴年馬月,耗時沒有什麼意義!
學習永不停牌,今天一小步明天一大步!
關於作者:老A,專案管理師,專業興趣研究方向:大資料、計算機軟體、通訊工程。個人業餘愛好是研究無人機製作,銀元鑒賞與收藏。
本文為「大資料」內容合夥人之「鑒書小分隊」活動讀書筆記,由大資料粉絲原創,轉載請與我們取得聯絡。
「大資料」內容合夥人之「鑒書小分隊」上線啦!
最近,你都在讀什麼書?有哪些心得體會想要跟大家分享? 資料叔最近搞了個大事——聯合優質圖書出版商機械工業出版社華章公司發起鑒書活動。
簡單說就是:你可以免費讀新書,你可以免費讀新書的同時,順手碼一篇讀書筆記就行。詳情請在大資料公眾號後臺對話方塊回覆合夥人檢視。
朋友會在“發現-看一看”看到你“在看”的內容