這篇文章主要介紹了關於python excel使用xlutils類庫實現追加寫功能的方法,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下
由於近日寫工作報告交一份概要和excel版本發現手寫太麻煩想寫個代碼來自動讀取一個文本中的所有內容按需求寫入對應excel和概要中自動完成
就找了找python 的類別庫,發現了挺多小問題.和大家分享一下如果對你有所幫助請讚一下謝謝
如果追加寫python xlrd模組是複製讀取exlce xlwt 是負責寫但是發現如果使用xlwt寫後格式都沒有了,而且不能追加寫.
那麼就需要使用xlutils這個模組
1.實作複製帶有格式的excel
from xlutils.copy import copy try: if not os.path.exists(goal_file) and os.path.exists(model_src) : shutil.copy(model_src,goal_file) print '复制模版成功' except Exception ,e: print "模版文件复制失败" pass
很簡單關鍵程式碼只有一句將一個模版檔案複製一份將來我會用複製後的檔案進行追加寫入操作
#使用 formatting_info=True 来复制带有格式的excel,否则追加写后格式会丢失 rb = xlrd.open_workbook(goal_file,formatting_info=True) #通过sheet_by_index()获取的sheet没有write()方法 rs = rb.sheet_by_index(0) wb = copy(rb) #通过get_sheet()获取的sheet有write()方法 ws = wb.get_sheet(0) #获得到sheet了 可以进行 追加写 或者 修改某个单元格数据的操作了 最后不要忘了 save()
wb.save(goal_file)
這裡特別注意複製的模版要是xls 後綴而不是xlsx 否則會拋出異常xlrd 0.8版本後不支援google了一下好像是這樣所以模版要是xls格式的
而且要注意不要去手動點開xls檔去修改裡面的值,否則腳本執行到最後save()這句話會拋出異常,試了很多次,希望大神可以指教下.
注意這兩點實現追加寫就可以完成了.
相關推薦:
以上是python excel使用xlutils類別函式庫實作追加寫入功能的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!