[问题] 新手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