[問題] 新手csv跟excel問題

作者: lalaboom (lalaboom)   2021-06-29 11:41:55
大家好我最近剛接觸python
目前有一個需求是要把csv檔貼到excel(wps)中的某一個sheet
但是遇到了兩個問題如下(python2跟3都一樣)
1. 某些資料會不見
2. excel中會出現綠色箭頭, 應該是數字被當成字串處理, 這樣會導致我無法使用excel中的conditional formatting功能來處理數字,看起來是csv reader會自己加入單引號
請問我應該如何處理比較好呢?
目前是使用python csv跟openpyxl, 還是應該用panda?
謝謝大家.
- Data (csv file)
https://i.imgur.com/ZroPjuH.jpg
- Code (試過QUOTE_NONE好像無效)
https://imgur.com/enssBOI.jpg
- WPS Excel (第2行消失跟綠色箭頭)
https://i.imgur.com/0aFZz8F.jpg
作者: poototo (poototo)   2021-06-29 12:33:00
row中的數字要真的轉成數值type才存excel
作者: lycantrope (阿寬)   2021-06-29 12:47:00
row append前先轉成int或float吧
作者: taipoo (要成功要積極)   2021-06-29 12:48:00
寫入的數字用int()處理一下就不會這樣了
作者: lalaboom (lalaboom)   2021-06-29 14:08:00
因為資料同時有字串跟數字,意思是說我只能每個欄位都判斷再決定要不要轉嗎?有沒有auto convert之類的功能可以使用呢?
作者: kevin1732 (BLACK)   2021-06-29 14:47:00
用isdigit()去判斷?從截圖看起來str的部份應該是"-",用if else應該也行?用pandas會比簡單吧?
作者: chickengod (雞大俠)   2021-06-29 16:19:00
pandas read_csv() 會自動判斷每欄的 type
作者: lycantrope (阿寬)   2021-06-29 16:46:00
用try except ValueError 也行
作者: hanksky (魯蛇一枚)   2021-07-06 06:54:00
先看看row能不能再取成一個值,因為一列資料同時有字串和數字,不能這樣判斷,可以取到單值後,就可以針對數字轉換,再存入excel

Links booklink

Contact Us: admin [ a t ] ucptt.com