![](/img/trans.png)
[英]Import csv files based on condition from the folders that inside another folder
[英]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.