Python 使用genfromtxt导入numpy中缺少值的csv数据

Python 使用genfromtxt导入numpy中缺少值的csv数据,python,numpy,genfromtxt,Python,Numpy,Genfromtxt,我有一个csv文件,看起来像这样(实际文件有更多的列和行): 假设文件名为info.csv 如果我尝试使用 data = numpy.genfromtxt('info.csv', delimiter = ',') 然后我得到以下错误: ValueError: Some errors were detected ! Line #4 (got 1 columns instead of 5) 如果我使用 data = numpy.genfromtxt('info.csv', delimiter =

我有一个csv文件,看起来像这样(实际文件有更多的列和行):

假设文件名为info.csv 如果我尝试使用

data = numpy.genfromtxt('info.csv', delimiter = ',')
然后我得到以下错误:

ValueError: Some errors were detected ! Line #4 (got 1 columns instead of 5)
如果我使用

data = numpy.genfromtxt('info.csv', delimiter = ',', skip_footer = 1) 
跳过数据为
16
和数据为
11、12、13、14、15
的两行。我不明白为什么要跳过带有
11,12,13,14,15
的行。对于如何正确使用
genfromtxt
导入上述文件的前三行,我将不胜感激


谢谢

如果您可以忽略文件末尾的16,请尝试使用

无效的_raise
bool,可选)参数 如果设置为False,它将忽略所有未完成的行,而不会引发异常

请参见此处(这是示例之前的最后一个参数)
命令
填充\u值也对我有所帮助。我把它设为零。因此,每个空值都设置为零。这可能并不总是有意义的,但可能会对您有所帮助。

谢谢!这对我很有效。但是你或者其他人能解释一下为什么skip_footer不起作用吗。或者,我怎样才能得到16的那一行。我稍后会接受答案,因为如果我现在这样做,这些问题将仍然没有答案。再次感谢。它跳过2行,因为genformtxt会将有效行读取到数组中,然后按照您告诉他的方式跳过,但是带“16”的行永远不会被读取到数组中。您可以尝试使用“filling_values”或“missing_values”参数将行中缺少的4个值填充为“16”,例如,-1和或0取决于从磁盘读取阵列后对阵列所做的操作。请解释如何使用填充值。我试过,
numpy.genfromtxt('info.csv',delimiter=',filling_values=0)
。但是,这仍然会产生相同的错误。好的-我现在检查了numpy的代码,填充值可以用来填充空值-因此,如果最后一行看起来像'16,,,,,,,,,,,则填充将填充空值。如果该行没有分隔符,genfromtxt将无法解析它
data = numpy.genfromtxt('info.csv', delimiter = ',', skip_footer = 1)