Py學習 批量操作Word檔案

2021-10-09 14:11:57 字數 1798 閱讀 9047

這幾天為了幫助我姐批量修改word的**,讓我想到了朋友圈常有的廣告(路人:你咋這麼快就做好了呀,主角:因為我用了python呀,python經典課程,免費上課。。。。。。)因此決定去用python寫乙個簡易的批量操作word檔案的**。

用py批量操作word首先要安裝乙個庫,安裝命令如下:

pip install python-docx

官方也給了乙個demo提供學習。

對於我這次的要求,是要能夠批量修改不同word檔案下的**,需要實現的效果是:能夠自動往後寫**,除了日期不同,資料都相同

這麼乙個做了我倆小時,我好菜呀

因為檔案數目較多,因此首先需要的是對資料夾路徑下的所有檔名進行儲存,這裡從網上copy了一段**,效果還蠻好使得

def folder_filelist(pathname):

'''讀取所有檔名,為了實現對資料夾的批處理

'''filename_list = list()

full_pathname = os.path.abspath(pathname)

print(full_pathname)

if os.path.isfile(full_pathname):

if _is_legal_postfix(full_pathname):

else:

raise typeerror('檔案 {} 字尾名不合法!僅支援如下檔案型別:{}。'.format(pathname, '、'.join(self._handle_postfix)))

elif os.path.isdir(full_pathname):

for relpath, _, files in os.walk(full_pathname):

for name in files:

filename = os.path.join(full_pathname, relpath, name)

if _is_legal_postfix(filename):

return filename_list

else:

raise typeerror('檔案 {} 不存在或不合法!'.format(pathname))

def _is_legal_postfix(filename):

'''對檔案種類進行識別

'''_handle_postfix = ['doc', 'docx']

return filename.split('.')[-1].lower() in _handle_postfix and not os.path.basename(filename).startswith(

'~')

這裡主要是想要描述乙個遇到得問題,在操作時發現,直接新增的字型他是固定的五號字型和calibri字型,而我這個**需要四號宋體,但網上的一些教程說不能對中文進行字型修改的操作,在我搜了很多資料,甚至翻牆之後,找到了解決辦法:

for row in table.rows:

for cell in row.cells:

paragraphs = cell.paragraphs

for paragraph in paragraphs:

for run in paragraph.runs:

font = run.font

font.size= pt(30)

親測好

將ui檔案批量轉化為py

從書本上看到的 記錄一下找同一型別的檔案 並改變檔案型別的方法 並不是原創 但不知道怎麼引用書本上的內容 所以投了原創 import os import os.path 定義路徑 dir 列出所需要的檔案 deflistfile list files os.listdir dir os.listdi...

批量操作檔案

批量修改檔名 import os path f picture i 1 對目錄下的檔案進行遍歷 for file in os.listdir path 判斷是否是檔案 if os.path.isfile os.path.join path,file true 設定新檔名,5d是00001五位數顯示 ...

批量刪除檔案中的廣告詞 py

乙個批量刪除檔案中廣告詞的指令碼,在py檔案中修改dir1和text即可 import os,re 要刪除的目錄 dir1 c 要刪除的廣告詞 text 廣告詞 def remove ad text filedir,text filedir str text str filelist os.list...