【问题标题】:read ascii file with empty entries in python在python中读取带有空条目的ascii文件
【发布时间】:2013-05-21 14:03:15
【问题描述】:

我有一个看起来像这样的文件:

 145.342050   -0.906349   4915
 145.463209   -0.844225   4915
 145.502417   -0.966603
 145.582172   -0.892733   4917
 145.618846   -0.972673
 145.681139   -0.867231   4883
 145.821685   -0.846610   4883

我尝试使用np.genfromtxt,但没有成功。

import numpy as np
a,b,c = np.genfromtxt('filename',missing_values=" ",unpack=True)

有谁知道一种只存储包含三个条目的行或填充空白位置的好方法吗?我没有管理filling_valuesnp.genfromtxt

编辑:
这是python抛出的错误:

Line #23 (got 2 columns instead of 3)

【问题讨论】:

  • 参数名不是filling_values而不是fill_values吗? docs.scipy.org/doc/numpy/reference/generated/…
  • @JohannesCharra 抱歉,这是一个错字,感谢您的注意。我编辑了它
  • 您的文件格式是否与示例文件一样完全,即在缺少第三列的行中第二列之后的no空格?在您的函数调用中,参数missing_values=" " 表示单个空格表示缺失值。在您的示例文件中,这是 not true,因此这不起作用。此外,当您的示例文件中的分隔符为 3 x 空格且您未指定时,该函数会将这些空格视为三个缺失值。因此,如果您确实想使用np.genfromtxt,请尽可能考虑重新格式化您的文件。
  • @nordev,是的,你是对的,当缺少第三列时,第二列之后没有分隔符。

标签: python numpy ascii


【解决方案1】:
import numpy as np
a,b,c = np.genfromtxt('filename',missing_values=" ", filling_values = 0 ,unpack=True)

【讨论】:

  • 感谢答案,我之前完全尝试过,结果相同Line #... (got 2 columns instead of 3)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-07-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多