【问题标题】:numpy.genfromtxt: delimiter=',' fails to split stringnumpy.genfromtxt: delimiter=',' 无法分割字符串
【发布时间】:2013-01-04 07:15:34
【问题描述】:

我不明白为什么numpy.genfromtxt 不能使用delimiter="," 正确拆分以下字符串,而它适用于我的块中的大多数其他字符串。

chunk[12968]
Out[143]: '2901869281,3279442095,2012-12-15T23:00:00.003Z,Sacramento,CA,R#3817874,United States,38.583,-121.498,11, 8, 6, 5, 1, 0, 2, 3, 3, 5, 3, 3, 2, 2, 6, 6, 1, 2, 3, 0, 1, 1, 0, 0, 2, 2, 2, 2, 1, 0, 0, 2, 1, 0, 1, 1, 2, 0, 3, 1, 1, 1, 1, 0, 0, 4, 0, 0, 0, 1, 3, 1, 0, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 0, 9, 0, 0, 0, 2, 3, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0,130\n'

我希望得到一个形状数组 (110,) 但得到以下结果

genfromtxt([chunk[12968]],delimiter=",",dtype=np.int64)
Out[142]: 
array([2901869281, 3279442095,         -1,         -1,         -1,
               -1], dtype=int64)

请注意,我使用 itertools 中的 izip_longest 以这种方式按块读取大 *csv:

with open('events.csv','r') as:
    for chunk in izip_longest(*[f] *50000):
          ...

感谢您的帮助。

【问题讨论】:

    标签: python numpy genfromtxt


    【解决方案1】:

    genfromtxt()comments 参数默认为 '#',因此您输入中超出 # 的所有内容都将被忽略:

    2901869281,3279442095,2012-12-15T23:00:00.003Z,Sacramento,CA,R#3817874,United States,...
                                                                  ^ start of comment
    

    【讨论】:

      猜你喜欢
      • 2020-03-07
      • 2020-11-07
      • 2011-03-26
      • 2023-04-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多