【发布时间】:2013-07-29 18:55:46
【问题描述】:
我正在尝试使用 numpy.genfromtxt 读取 csv 文件,但其中一些字段是包含逗号的字符串。字符串用引号引起来,但 numpy 没有将引号识别为定义单个字符串。例如,使用 't.csv' 中的数据:
2012, "Louisville KY", 3.5
2011, "Lexington, KY", 4.0
代码
np.genfromtxt('t.csv', delimiter=',')
产生错误:
ValueError:检测到一些错误! 第 2 行(得到 4 列而不是 3 列)
我要找的数据结构是:
array([['2012', 'Louisville KY', '3.5'],
['2011', 'Lexington, KY', '4.0']],
dtype='|S13')
查看文档,我没有看到任何处理此问题的选项。有没有办法用 numpy 来做,还是我只需要用 csv 模块读入数据,然后将其转换为 numpy 数组?
【问题讨论】:
-
你能发布更多完整的 csv,我想我知道如何解决你的问题 ;)
-
你应该改变你的 csv 替换分隔符从
,到;例如... -
@SaulloCastro:我不能这样做,因为我的真实数据更加混乱,并且包含带有
;和/或您能想到的任何其他字符的字符串 - 这只是一个玩具示例。我正在寻找的是一个更通用的解决方案。 -
@EiyrioüvonKauyf:正如我所提到的,这只是一个说明问题的玩具示例,但我认为它具有所有基本功能。您到底在寻找什么?
标签: python numpy pandas genfromtxt