考虑一个文件,a.dat
,其内容:
address 1, address 2, address 3, num1, num2, num3
address 1, address 2, address 3, 1.0, 2.0, 3
address 1, address 2, "address 3, address4", 1.0, 2.0, 3
我正在尝试使用numpy.genfromtxt
. 但是,该函数在第 3 行中看到了一个附加列。我收到了类似的错误pandas.read_csv
:
np.genfromtxt('a.dat',delimiter=',',dtype=None,skiprows=1)
ValueError: Some errors were detected !
Line #3 (got 7 columns instead of 6)
和
pandas read_csv sort of works - but it gives me an unaligned data structure:
pd.read_csv('a.dat')
pandas.parser.CParserError: Error tokenizing data. C error: Expected 6 fields in line 3, saw 7
我试图找到一个输入参数来弥补这一点。我不介意最终得到一个 numpy ndarray 或 pandas 数据框。
是否有我可以在其中设置genfromtxt
和/或read_csv
让我忽略语音标记中的逗号的参数?
我注意到它read_csv
包括一个quotechar='"'
参数,定义如下:
quotechar : string (length 1) 用于表示引用项的开始和结束的字符。引用的项目可以包含分隔符,它将被忽略。
这对我来说就像 read_csv 默认情况下应该适用于我的情况一样 - 但它没有。
我可以看到我可以预处理文件以去除逗号 - 如果可能的话,我想避免这种情况,但如果这是唯一的方法,我会欢迎提出建议。