说明
平时用的不多,但是也是挺有用的。
内容
1 导包
from zipfile import ZipFile
2 实例化
f = ZipFile('./data/GTA_SEL2_BASICINFO_201707.zip')
3 获取文件名列表
f.namelist()
4 获取当前的文件信息列表
f.filelist
5 打印所有的文件大小
total_size_M = 0
for the_file in f.filelist:
fname = the_file.filename
file_size = the_file.file_size /1e6
total_size_M += file_size
print('current file %s with size %.2f M , total_size %.2f M' %(fname, file_size,total_size_M))
6 解压会带着目录结构
f.extract( 'folder/file.csv', 'new_foler')
7 读取某一个文件
with open('./tem.csv','wb') as tem_f:
zip_data = f.read('some_folder/file.csv')
tem_f.write(zip_data)
8 pandas 读取
tem_df = pd.read_csv('tem.csv',header=None)
by the way, 我看这个csv的压缩比大约是10:1, 碰到特大文件要处理好,不然硬盘就撑爆了
|