由于近日寫工作匯報 交一份概要和 excel版本 發現手寫 太麻煩 想寫個代碼來自動 讀取一個文本中的所有內容 按需求寫入 對應excel和概要中 自動完成
就找了找python 的類庫,發現了挺多小問題.和大家分享一下 如果對你有所幫助 請贊一下謝謝
如果追加寫 python xlrd模塊是復制讀取exlce xlwt 是負責寫 但是發現如果使用xlwt寫后 格式都沒有了,而且不能追加寫.
那么就需要使用 xlutils這個模塊
1.實現復制帶有 格式的excel
from xlutils.copy import copytry: 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類庫實現追加寫功能的方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林站長站。
新聞熱點
疑難解答