【问题标题】:Genfromtxt skips information with #Genfromtxt 使用 # 跳过信息
【发布时间】:2017-11-10 13:45:38
【问题描述】:

我在读取带有 # 符号的 CSV 文件时遇到问题。 CSV 看起来像这样。

 aaa;;xxx;aaa;aaa;aaa;xxx;xxx;xxx;xxx;xxx;xxx;aaa

aaa 作为字符串,xxx 作为浮点数。但是在这个文件中有这样一行:

aaa;;aaa;#N/A;#N/A;#N/A;#N/A;#N/A;#N/A;#N/A;#N/A;#N/A;#N/A

Python 一直说这一行将有 4 列而不是 13 列。他将 # 解释为注释并跳过其余部分。我试过了:

kwargs = dict(delimiter=';',
          dtype=np.str,
          skip_header=11,
          usecols= range(1,14),
          missing_values = "#N/A",
          filling_values = "0")
data = np.genfromtxt(TestFile, **kwargs)

但仍然无法正常工作。

我怎么能做到这一点?

【问题讨论】:

  • 您如何阅读和评估文件?向我们展示代码。
  • 读取和评估文件是什么意思。我已经浏览了它,它包含所有必要的信息
  • 向我们展示您用于读取文件并从 CSV 中提取每个值的代码。
  • 'kwargs = dict(delimiter=';',dtype=np.str,skip_header=11,usecols= range(1,14),missing_values = "#N/A",fill_values = " 0") 数据 = np.genfromtxt(RigFile, **kwargs)'
  • 请编辑您的问题并填写。否则无法阅读。

标签: python csv comments genfromtxt import-csv


【解决方案1】:

把字典改成,

kwargs = dict(delimiter=';',
              dtype=np.str,
              skip_header=11,
              usecols= range(1,14),
              missing_values = "#N/A",
              filling_values = "0",
              comments=None)

现在,这应该可以了。但是,当只有 0-12 列时,我不确定您为什么要使用 1-13 列。

【讨论】:

  • 感谢您的回答。这对我有用。我正在阅读第 1-13 列,因为真正的 csv 有更多列...
猜你喜欢
  • 2013-05-28
  • 1970-01-01
  • 2013-11-29
  • 2015-02-03
  • 2019-01-01
  • 1970-01-01
  • 2012-04-15
  • 2018-03-25
  • 2023-04-11
相关资源
最近更新 更多