那天,我媽的同事傳了份檢驗結果文件給她,但格式超級奇怪,既不是人工閱讀的文件格式、也不是資料系統的處理格式。我媽想把它轉成資料系統格式,可偏偏 Excel 的轉置、公式什麼的都沒辦法處理,只能人工處理。粗估下來,一份小資料大概 2 小時跑不掉。
我看了一下資料內容,是可以抓到一些規律的,因此打算寫程式幫她轉了,如果一切順利 15 分鐘就可以解決了。漏氣的是,第一關讀檔就卡住,我之前好像還沒有讀過 Excel 檔的文件。
一般讀檔案
原本想說它跟 CSV 檔案類似,可以用一般讀檔的方式讀進來,結果一開始就吃鱉了。
1 |
|
立刻給了我個編碼問題,看來不能偷吃步了,只好來研究怎麼讀 Excle 檔了。
1 |
|
Pandas 讀檔
拜了一下大神,發現有 openpyxl、 xlrd、 Pandas 幾種函式庫有支援 xlsx 的讀寫。最決定用 Pandas,因為我平常資料操作都是用它,就不用另外裝函式庫了。
1 |
|
讀進來之後就變 Pandas 格式了,可以接續一般的操作了。不過我在執行程式碼時遇到下面的錯誤訊息:
1 |
|
看起來是安裝 xlrd 0.9.0 以上的版本就可以了,結果還是得裝套新的函式庫:
1 |
|
Pandas 寫檔
至於寫檔的部分我其實偷懶,寫了 CSV 出去,反正給 CSV 我媽他們系統也可以接受。
不過為了寫網誌,還是稍微看了一下如何寫檔,算是留個紀錄方便日後找查,絕對不是我不想再多裝個函式庫 XDDD
1 |
|
看這段程式碼沒意外還是得安裝 openpyxl:
1 |
|
參考資料
- M.C. Shih (2019-01-02)。[Python]讀取與寫入xlsx檔案 。檢自 M.C. Shih (2020-07-31)。
更新紀錄
最後更新日期: 2020-12-21
- 2020-12-21 發布
- 2020-09-12 完稿
- 2020-09-11 起稿