

巨大なcsvファイルを扱うために分割してファイルを読み込んだのですが、その後の結合でエラーで出てしまいます。

**以下コード**

[code]

    import pandas as pd
    fname = '.../train.csv'
    reader = pd.read_csv(fname, chunksize=10000)
    df = pd.concat((r for r in reader), ignore_index=True)
    
[/code]

**以下エラーメッセージ**

[code]

    TypeError: first argument must be an iterable of pandas objects, you passed an object of type "DataFrame"
    
[/code]

原因と対策を教えてください。よろしくお願いいたします。


CC BY-SA 3.0
2018-04-30T04:28:00.443
43666
2018-12-27T07:01:45.697
2018-04-30T04:49:10.190
3060
28364
question
python python3 pandas
分割して読み込んだファイルの結合でエラーがでる


コード自体には問題はなさそうなので、以下のようにして pandas のバージョンと行数を制限してcsvファイルがうまく読み込めているか調べてみてください。

[code]

    import pandas as pd
    
    print(pd.__version__)
    fname = '.../train.csv'
    df = pd.read_csv(fname, nrows=10000)
    print(df.info())
    print(df.head())
    
[/code]

そして問題がなければ、次のようにコードを変えてみてエラーがでるかどうか確認すればいいと思います。エラーが発生する場合にはデバッグ用のコードを入れて、どこでエラーが発生しているか確認してください。

[code]

    import pandas as pd
    fname = '.../train.csv'
    df = None
    for r in pd.read_csv(fname, chunksize=10000):
        if df is None:
            df = r
        else:
            df = df.append(r, ignore_index=True)
    
[/code]


CC BY-SA 4.0
2018-04-30T14:54:35.287
43672
2018-11-18T15:46:18.253
2018-11-18T15:46:18.253
15171
15171
43666
answer