在csv,numpy中从csv获取具有不同列数的值

时间:2017-02-15 12:47:08

标签: python numpy

我正在阅读带有

的csv
numpy.genfromtxt(csv_name, delimiter=',') 

但是我无法这样做,因为我的csv每行包含不同的列数。

O / P:

ValueError: Some errors were detected
 Line #2 (got 8 columns instead of 7)
 Line #3 (got 8 columns instead of 7)
 Line #4 (got 8 columns instead of 7)
 Line #6 (got 8 columns instead of 7)
 Line #7 (got 5 columns instead of 7)
 Line #8 (got 5 columns instead of 7)
 Line #9 (got 5 columns instead of 7)
 Line #10 (got 5 columns instead of 7)

是否可以使用numpy?

2 个答案:

答案 0 :(得分:0)

如果可以将读取的数据限制为所有行的公共列数,则可以使用usecols显式选择要读取的列,例如:

numpy.genfromtxt(csv_name, delimiter=',', usecols=range(4))

答案 1 :(得分:0)

https://docs.scipy.org/doc/numpy/reference/generated/numpy.genfromtxt.html,您可以使用filling_values的{​​{1}}参数进行此操作。

否则,您可以使用此答案:Python: How to read a data file with uneven number of columns