使用以下CSV文件:
"aa"!#"2811"!#"Location"!#"11"!#"67000"!#"ZZ"
"bb"!#2812!#"Location"!#"22"!#"67540"!#"XX"
"cc"!#"2813"!#Location!#"33"!#"67117"!#"YY"
"dd"!#"2452"!#"location"!#"44"!#"67000"!#"ZZ"
并使用以下python代码:
import pandas
import csv
pandas.read_csv("test.csv", sep="!#", header=None, quotechar='"')
给出以下结果:
0 0 1 2 3 4 5
0 "aa" "2811" "Location" "11" "67000" "ZZ"
1 "bb" 2812 "Location" "22" "67540" "XX"
2 "cc" "2813" Location "33" "67117" "YY"
3 "dd" "2452" "location" "44" "67000" "ZZ"
但是,按照我指定的
quotechar='"'
,结果应该是 0 1 2 3 4 5
0 aa 2811 Location 11 67000 ZZ
1 bb 2812 Location 22 67540 XX
2 cc 2813 Location 33 67117 YY
3 dd 2452 location 44 67000 ZZ
我有什么想念的吗?
编辑:用
!#
替换所有,
使其起作用,因此很显然,quotechar
不会被解释为sep
超过1个字符。因此,我正在寻找没有任何str.replace()
的解决方案(我无法更改!#
,并且"
很重要,因为可以在列中找到!#
。 最佳答案
请在这里查看:
python pandas read_csv quotechar does not work
如果分隔符超过一个字符,则quotechar不起作用。我尝试使用逗号作为分隔符,并且可以正常工作。