簡體   English   中英

從 zip 文件夾中的文件夾導入 csv 文件

[英]Import csv files from folders inside zip folder

我有 zip 文件夾,即 zip_file.zip,其中有數千個文件夾。 這些文件夾中還有數千個 .csv 文件,我想導入所有 csv 文件並將它們連接起來。 我嘗試了在 Stackoverflow 中找到的解決方案,但它不起作用。 能否請你幫忙?

import zipfile
import pandas as pd
import glob

path = zipfile.ZipFile('/zip_file.zip')
all_files = all_files = glob.glob(path + "/*.csv")
li = []
for filename in all_files:
    df = pd.read_csv(filename, index_col=None, header=0)
    li.append(df)

frame = pd.concat(li, axis=0, ignore_index=True)

一種選擇是使用dask ,它將在后台使用fsspec來處理復雜的讀取情況:

from dask.dataframe import read_csv

# this line will create a pandas dataframe
df = read_csv('zip://*.csv::zip_file.zip').compute()

請注意, .compute調用假定數據適合內存。 如果不是這種情況,您將需要進一步考慮您希望如何處理數據。

此外,以上假設您已經安裝了 dask,如果沒有,請通過 pip(或 conda)將其安裝在終端/shell 中:

pip install dask

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM