我的路径中存储了很多zip
个文件
mypath/data1.zip
mypath/data2.zip
每个zip文件包含三个不同的txt
文件。例如,在data1.zip
中有:
data1_a.txt
data1_b.txt
data1_c.txt
我需要从每个压缩文件(即datai_c.txt
,data1_c.txt
,data2_c.txt
等)加载data3_c.txt
并将它们连接到数据框中。
不幸的是我无法使用read_csv
这样做,因为它只适用于单个压缩文件。
任何想法怎么做?谢谢!
答案 0 :(得分:6)
所以你需要一些其他代码才能进入zip文件。以下是来自O'Reilly的 Python Cookbook
的修改代码import zipfile
import pandas as pd
## make up some data for example
x = pd.DataFrame({"A": [1, 2], "B": [3, 4]})
x.to_csv('a.txt', sep="|", index=False)
(x * 2).to_csv('b.txt', sep="|", index=False)
with zipfile.ZipFile('zipfile.zip', 'w') as myzip:
myzip.write('a.txt')
myzip.write('b.txt')
for filename in z.namelist( ): print 'File:', filename,
insideDF = pd.read_csv(StringIO(z.read(filename)))
df = pd.concat([df, insideDF])
print df
答案 1 :(得分:1)