加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – 熊猫:如何加载包含多个txt文件的zip文件?

发布时间:2020-12-20 11:59:36 所属栏目:Python 来源:网络整理
导读:我的路径中存储了很多zip文件 mypath / data1.zip mypath / data2.zip 等 每个zip文件包含三个不同的txt文件.例如,在data1.zip中有: data1_a.txt data1_b.txt data1_c.txt 我需要从每个压缩文件(即data1_c.txt,data2_c.txt,data3_c.txt等)加载datai_c.txt并
我的路径中存储了很多zip文件

> mypath / data1.zip
> mypath / data2.zip
>等

每个zip文件包含三个不同的txt文件.例如,在data1.zip中有:

> data1_a.txt
> data1_b.txt
> data1_c.txt

我需要从每个压缩文件(即data1_c.txt,data2_c.txt,data3_c.txt等)加载datai_c.txt并将它们连接成一个数据帧.

不幸的是我无法使用read_csv这样做,因为它只适用于单个压缩文件.

有什么想法怎么做?谢谢!

解决方法

因此,您需要一些其他代码才能进入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',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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读