使用numpy.genfromtxt如何使用以下格式解析CSV字段?

时间:2016-04-09 16:15:09

标签: python parsing csv numpy

我试图解析一个CSV文件,其中我有一个以下列方式格式化的字段:

[float,float,float]

问题是genfromtxt将我的数组中的逗号识别为CSV行的分隔符。我怎么能避免这样的事情呢?我现在正在做的是:

genfromtxt(csv, skip_header=2, dtype=None, delimiter=',')

由于

1 个答案:

答案 0 :(得分:1)

genfromtxt需要

之类的行
float, float, float
float, float, float

它不处理引号或括号。换句话说,真正的csv结构很简单2d,没有内部分组或'字段'。

您可以为genfromtxt提供一个更复杂的dtype,它会添加结构。

Python csv读者可以处理引号,我怀疑你可以指示它像引号那样对待[]。但结果将是引用'引用的一个字符串。文本。

genfromtxt接受来自任何可迭代的输入。因此,您可以编写一个逐行读取文件的小函数,删除括号,根据需要添加分隔符,并将该行传递给genfromtxt

首先,特别是对于小文件,将整个事物作为行列表(readlines)加载,然后将这些行按到平面分隔的字符串中。然后将其提交给genfromtxt