gpt4 book ai didi

python - InconcientTableError 行与 astropy Table.read() 的列错误不同

转载 作者:太空宇宙 更新时间:2023-11-03 21:11:32 25 4
gpt4 key购买 nike

我正在尝试使用 astropy 的 Table.read() 读取 .txt 文件,如下所示:

data = Table.read('BD_FONDECYT_1120715Py(03-2019).txt', format='ascii', guess=False)

我添加了 guess=False 因为没有它,错误就不太清楚。

我正在使用数据库并始终使用脚本来读取它。现在,我添加了一些新数据,代码显示此错误:

'Traceback (most recent call last):
data = Table.read('BD_FONDECYT_1120715Py(03-2019).txt', format='ascii', guess=False)
File "C:\Python3\lib\site-packages\astropy\table\table.py", line 2550, in read
out = io_registry.read(cls, *args, **kwargs)
File "C:\Python3\lib\site-packages\astropy\io\registry.py", line 517, in read
data = reader(*args, **kwargs)
File "C:\Python3\lib\site-packages\astropy\io\ascii\connect.py", line 20, in read_asciitable
return read(filename, **kwargs)
File "C:\Python3\lib\site-packages\astropy\io\ascii\ui.py", line 390, in read
dat = fast_reader_rdr.read(table)
File "C:\Python3\lib\site-packages\astropy\io\ascii\fastbasic.py", line 128, in read
data, comments = self.engine.read(try_int, try_float, try_string)
File "astropy\io\ascii\cparser.pyx", line 385, in astropy.io.ascii.cparser.CParser.read astropy.io.ascii.core.InconsistentTableError: Number of header columns (22) inconsistent with data columns in data line 0'

我查看了每个地方,更改了表中的每个值(为 float 和 2 位小数),检查了新值是否有空格或类似的内容,但无法弄清楚发生了什么。我什至将 Python 版本从 2.7 更改为 3.7,并重新安装了 astropy 和 numpy。

如何解决这个问题?

最佳答案

出现此问题的原因是您的数据表的列数不同,可能是因为缺少数据值。 AstroPy 尝试猜测表头和数据部分的位置(您可以在调用 astropy.io 时使用 header_start=data_start= 覆盖它们)。 ascii.read(),请参阅文档中的 method definition)。 header 用于定义期望从表中读取的列数;如果这在数据中途发生变化,您将收到 InconcientTableError

例如,如果您有一个如下所示的表(使用哈希作为注释/标题分隔符):

# X Y Z
1 2 3
3 4 5
6 9

那么它将在第 3 行失败,因为现在有 2 列而不是 3 列。您需要确保生成表的任何内容都会为错误/丢失的数据填充“某些内容”和/或这不会被误认为是分隔符列之间(或在调用中覆盖它)。这可能就是为什么它在转换为 CSV 后“似乎可以工作”; CSV 对原始表数据中可能不存在的常见空白值(空格)和列分隔符(逗号)进行了区分,从而防止了缺失值和列之间的间隙之间的代码混淆。

关于python - InconcientTableError 行与 astropy Table.read() 的列错误不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55032796/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com