【python】解析Excel中使用xlrd库、xlwt库操作,使用xluils库修改Excel文件详解(三)...
之前介紹了讀和寫excel,前兩種都不是修改excel的,但是在實際的工作中,經常會遇到修改已經存在的Excel文件這種需求。xlrd中put_cell可以實現原表格上簡單的寫入,而xlwt直接生成新的表格,并不是在原表格的基礎上進行修改。
通常方法邏輯就是:先打開這個excel,然后將內容讀入到內存,進行處理,然后寫到一個新的同名excel文件中,最后直接用修改后的excel文件覆蓋了老的excel文件即可。
python已經幫我們實現了這么一個功能模塊,那就是模塊xlutils,這個模塊依賴于xlrd和xlwt模塊,它提供了復制excel文件內容和修改文件內容的功能。其實也就是在xlrd.Book和xlwt.Workbook之間建立了一個管道來實現修改功能。實現流程如下圖所示:
xlutils方法:
- copy: 將xlrd.Book轉為xlwt.Workbook
- styles: 讀取xlrd.Workbook的每一個單元格的style
- display: 簡單而安全地呈現xlrd讀取的數據
- filter: 拆分與整合多個xls文件
- margins: 查看表格稀疏程度
- save: 序列化xlrd.Book,轉存為binary xls或stream
1、引入模塊,需要同時引入讀模塊和修改模塊
2、打開excel開始將內容讀到內存中
3、使用xlutils.copy模塊的copy()方法將原excel另外拷貝一份,準備修改操作;即將xlrd.Book轉為xlwt.Workbook
4、接下來就是從readBook中(也就是原excel中,注意這里讀取數據的時候必須從原excel中讀取)取得要修改的工作表,然后使用copybook取到相同工作表,使用進行修改操作,英國留學費用最后把修改的內容保存到讀取到要修改的工作表
上面這種讀sheet的方法是xlrd模塊中的方法,它是沒有write()方法,所以是不能寫的。 然后將要修改整個excel文檔拷貝一份:
5、上面的通過get_sheet()獲取的sheet是有write()方法,所以能寫;接著進行寫入操作
6、修改完數據以后,將新的excel表保存并覆蓋舊的excel表即可,這就實現了對excel修改的操作需求。或者是另存為新Excel表格
7、上述流程生成簡要完整腳本文件:
轉載于:https://www.cnblogs.com/zhaolide/p/10026263.html
總結
以上是生活随笔為你收集整理的【python】解析Excel中使用xlrd库、xlwt库操作,使用xluils库修改Excel文件详解(三)...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: TP5 上传文件 中文乱码问题
- 下一篇: 中国企业云计算应用现状及需求