我试图解析一个CSV文件,其中我有一个以下列方式格式化的字段:
[float,float,float]
问题是genfromtxt将我的数组中的逗号识别为CSV行的分隔符。我怎么能避免这样的事情呢?我现在正在做的是:
genfromtxt(csv, skip_header=2, dtype=None, delimiter=',')
由于
答案 0 :(得分:1)
genfromtxt
需要
float, float, float
float, float, float
它不处理引号或括号。换句话说,真正的csv结构很简单2d,没有内部分组或'字段'。
您可以为genfromtxt
提供一个更复杂的dtype
,它会添加结构。
Python csv
读者可以处理引号,我怀疑你可以指示它像引号那样对待[]。但结果将是引用'引用的一个字符串。文本。
genfromtxt
接受来自任何可迭代的输入。因此,您可以编写一个逐行读取文件的小函数,删除括号,根据需要添加分隔符,并将该行传递给genfromtxt
。
首先,特别是对于小文件,将整个事物作为行列表(readlines
)加载,然后将这些行按到平面分隔的字符串中。然后将其提交给genfromtxt
。