[问题] 抓格式不整齐的csv

楼主: lh1122 (琳)   2018-03-29 16:00:25
大家好,
csv某栏的资料里面包含逗号,
当用python抓的时候就会产生问题,
想请教有什么方式可以抓某栏格式不整齐的csv资料。谢谢
作者: kenduest (小州)   2018-03-29 16:12:00
你的 cvs 内容内,有逗点的资料有用双引号包起来吗?
楼主: lh1122 (琳)   2018-03-29 16:28:00
没有用双引号包,资料来自老师,但笔数过多也无法人工加双引号
作者: ddavid (谎言接线生)   2018-03-29 16:31:00
如果后栏是数字的话就还有机会,你可以在这一栏特别处理读到数字为止(前提是这栏里面没数字)或者这一栏如果“一定有刚好一个逗号”的话,你可以当成两栏来读,再合并并补上中间的逗号若没以上这些比较好处理的情况,要程式自动处理就不容易了
楼主: lh1122 (琳)   2018-03-29 16:43:00
该栏像人的一般叙述,所以有多个逗号,部分可能也有数字,此外下一栏还是文字
作者: Jeffrey11061 (Jeff)   2018-03-29 16:43:00
字段内容有没有什么规则呢?
楼主: lh1122 (琳)   2018-03-29 16:47:00
感觉没有,属于人的描述,有逗号、数字、文字
作者: Kazimir (Kazimir)   2018-03-29 16:56:00
如果只有这一栏是这种情况 那你就把切开来会比正常多几栏的那些挑出来 特别处理以后再放回去
作者: Jeffrey11061 (Jeff)   2018-03-29 17:03:00
目前想到可以写个file I/O的script 将逗点数量不正确的lines滤出来另外处理
楼主: lh1122 (琳)   2018-03-29 17:18:00
想问K大要怎么切呢,要依据什么切?也想问J大要依据什么过滤呢?
作者: vfgce (小兵)   2018-03-29 17:19:00
不考虑放个资料图给大家看一下你的资料长什么样?
作者: Jeffrey11061 (Jeff)   2018-03-29 17:27:00
line by line读取,count逗号数量,正确的话将该行写到file A,否则写到file B
楼主: lh1122 (琳)   2018-03-29 17:27:00
https://i.imgur.com/5JYKwlj.jpg这是模拟资料,概念是地址这栏有很多逗号,导致格式不整齐了,但真实资料中的下一栏是文字,非影像中的数字
作者: Jeffrey11061 (Jeff)   2018-03-29 17:30:00
用纯文字方式开启可能比较好让大家观察
作者: vfgce (小兵)   2018-03-29 17:36:00
你的逗号看来是全角,应该不影响啊.....
楼主: lh1122 (琳)   2018-03-29 17:38:00
作者: flarehunter (Range)   2018-03-29 18:10:00
用regex找电话号码的字段,前面的都当成地址行不行
作者: iitze (ici la lune)   2018-03-29 18:16:00
反过来抓,后面三个字段保留,前面合并
作者: vfgce (小兵)   2018-03-29 18:32:00
假设你的资料都是高雄,line 为读入的一行a,b=line.split('07-')a就是地址部分,b自行把'07-'补上,再做一次split
作者: hsnusonic (sonic)   2018-03-29 21:06:00
如果资料是你贴的这样,从后面切回来就好啦,rsplit(‘,’,5)
楼主: lh1122 (琳)   2018-03-29 23:19:00
感谢各位前辈的慷慨帮助,等我拿到真实资料就来试试,再次感谢
作者: junkuo (唉)   2018-03-30 10:12:00
这图里面是不是有个资?要注意喔,会被告的
作者: Neisseria (Neisseria)   2018-03-30 11:08:00
楼主: lh1122 (琳)   2018-03-30 11:32:00
谢谢J大提醒,这是开放式资料下载来的也谢谢N大我来研究看看

Links booklink

Contact Us: admin [ a t ] ucptt.com