gpt4 book ai didi

python - numpy genfromtxt/ Pandas read_csv;忽略引号内的逗号

转载 作者:太空狗 更新时间:2023-10-30 01:44:41 25 4
gpt4 key购买 nike

考虑一个文件 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) The character used to denote the start and end of a quoted item. Quoted items can include the delimiter and it will be ignored.

这对我来说就像默认情况下 read_csv 应该适用于我的情况 - 但事实并非如此。

我可以看到我可以预处理文件以去除逗号 - 我想尽可能避免这种情况,但如果这是唯一的方法,我欢迎提出建议。

最佳答案

刚设法找到this :

我缺少的关键参数是 skipinitialspace=True - 这个“处理逗号分隔符后的空格”

a=pd.read_csv('a.dat',quotechar='"',skipinitialspace=True)

address 1 address 2 address 3 num1 num2 num3
0 address 1 address 2 address 3 1 2 3
1 address 1 address 2 address 3, address4 1 2 3

这有效:-)

关于python - numpy genfromtxt/ Pandas read_csv;忽略引号内的逗号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24079304/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com