3

WinZipped csv ファイルがいくつかあり、これらを Pandas データフレームとして読み込みたいと考えています。問題は、解凍オプション (「gzip」または「bz2」) のどちらも機能していないように見えることです。ファイルは次のようになります。

00000000011!00023011!89011!200812
00000000012!00023011!89011!200812
00000000013!00023011!89011!200812

そのため、Python の zipfile モジュールを使用してファイルを解凍し、行を読み取り、読み取ったものからデータフレームを作成する必要があるようです。これを行うことを考えた方法は、次のような辞書のリストを作成することです。

[
    {"header1": 00000000011, "header2": 00023011, "header3": 89011, "header4": 200812}, 
    {"header1": 00000000012, "header2": 00023011, "header3": 89011, "header4": 200812},
    ...
]

そして、これをhttp://pandas.pydata.org/pandas-docs/stable/dsintro.html#from-a-list-of-dictsのようにデータフレームに変換します。

ただし、これには多くの行の手動操作が含まれているようです-これを行うより良い方法はありますか?

4

2 に答える 2

6

ファイルを解凍するだけです。

with zipfile.ZipFile('/path/to/file', 'r') as z:
    f = z.open('member.csv')
    table = pd.io.parsers.read_table(f, ...)

filepath_or_bufferパラメーターは、ファイルのような引数を受け入れread_tableます。

于 2013-07-22T14:27:52.680 に答える