3

チャンク内の他のほとんどの文字列で機能しているのに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)

izip_longestfromitertoolsを使用して、大きな*csvをチャンクごとに次のように読み取ることに注意してください。

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

手伝ってくれてありがとう。

4

1 に答える 1

7

comments引数はgenfromtxt()デフォルトでに設定され'#'ているため、入力のを超えるものはすべて#無視されます。

2901869281,3279442095,2012-12-15T23:00:00.003Z,Sacramento,CA,R#3817874,United States,...
                                                              ^ start of comment
于 2013-01-21T09:06:11.350 に答える