我有几个 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 http://pandas.pydata.org/pandas-docs/stable/dsintro.html#from-a-list-of-dicts.
然而,这似乎涉及大量的手动操作线 - 有没有更好的方法来做到这一点?
您只需解压缩该文件:
with zipfile.ZipFile('/path/to/file', 'r') as z:
f = z.open('member.csv')
table = pd.io.parsers.read_table(f, ...)
The filepath_or_buffer
参数为read_table
接受任何类似文件的参数。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)