Python读取压缩文件夹中子文件夹内的csv文件

问题描述 投票:0回答:2

我正在尝试以下操作:

import pandas as pd
loc = r'T:\Analysis\calibraer19.zip\col1\profiles\myfile.csv'
pd.read_csv(loc)

但是我一直在获取文件不存在的错误。我不确定如何读取此文件,因为zip文件夹的大小非常大,其中包含100多个文件,因此解压缩不是一个好选择。

pandas python-3.5
2个回答
0
投票

您可以使用zipfile库仅提取要读取的文件:

import zipfile

with zipfile.ZipFile(r'T:\Analysis\calibraer19.zip') as z:
    with open('myfile.csv', 'wb') as f:
        f.write(z.read(r'col1\profiles\myfile.csv'))

df = pd.read_csv('myfile.csv')

0
投票

您可以使用zipfile模块尝试以下方法:

import zipfile

with zipfile.ZipFile("Desktop.zip") as z:
    data = z.read("pandas_test_data.csv").decode("utf-8-sig")

lines = (elem for elem in data.split("\r\n")) 

# lines = (elem for elem in data.split("\n")) if you're csv contains \n instead of \r\n

rows_of_data = (elem.split(",") for elem in lines)

df = pd.DataFrame(rows_of_data)
© www.soinside.com 2019 - 2024. All rights reserved.