使用 Genfromtxt 仅对一列出错.可以读取所有其他列.我该如何解决它?



我是python的新手,我想从.txt文件中读取数据。除了标题之外,只有浮点数。我有 6 列和非常多的行。 为了阅读它,我正在使用genfromtxt。如果我想阅读前两列,它可以工作,但如果我想阅读第 5 列,我会收到以下错误:

第 #1357451 行(有 4 列而不是 4 列(

这是我的代码:

import numpy as np
data=np.genfromtxt(dateiname, skip_header=1, usecols=(0,1,2,5))
print(data[0:2, 0:3])

我认为第 5 列中缺少一些值,因此不起作用。 有没有人想解决我的问题并阅读第 5 列的数据?

来自genfromtxt文档:

Notes
-----
* When spaces are used as delimiters, or when no delimiter has been given
as input, there should not be any missing data between two fields.

如果所有列(包括缺失的列(都正确排列,则可以使用固定列宽版本的delimiter

An integer or sequence of integers
can also be provided as width(s) of each field.

当一行如下所示时:

one, 2, 3.4, , 5, ,

它可以明确识别 7 列。 如果相反,它是

one 2 3.4  5    

它只能识别 4 列(一般两个空格计为一个,依此类推,尾随空格被忽略(

我找到了另一种解决方案。有了filling_values=0,我可以用零填充空值。现在它正在工作!:)

import numpy as np
data=np.genfromtxt(dateiname, skip_header=1, usecols=(0,1,2,5), delimiter='t', invalid_raise=False, filling_values=0)

此外,我不再将分隔符保留为默认值,而是定义了制表符距离,有了invalid_raise,您可以跳过缺少的值。

相关内容

  • 没有找到相关文章

最新更新