我在一個檔案夾中有一些 csv 檔案。
water檔案夾有water_202201.csv,water_202202.csv并且 water_202203.csv. 我想聚合這 3 個檔案。當然,我可以像下面的代碼一樣。
import pandas as pd
import numpy as np
#-*-coding:utf-8-*-
dat1=pd.read_csv("C:/water/water_202201.csv")
dat2=pd.read_csv("C:/water/water_202202.csv")
dat3=pd.read_csv("C:/water/water_202202.csv")
frames=[data1,data2,data3]
result1=pd.concat(frames)
result1
但問題是如果我不知道檔案夾中有多少個 csv 檔案water并且我想以某種方式聚合該檔案夾中的每個 csv 檔案,如何聚合。202201 表示 2022 年 1 月
uj5u.com熱心網友回復:
您可以使用它pathlib來遍歷您的檔案夾:
import pathlib
data = {}
for file in pathlib.Path('C:/water').glob('water_*.csv'):
date = file.stem.split('_')[-1] # extract 202201 for water_202201.csv
df = pd.read_csv(file)
data[date] = df
# One-line version
data = {file.stem.split('_')[1]: pd.read_csv(file)
for file in pathlib.Path('./data/water').glob('water_*.csv')}
現在有兩種可能性:
date通過鍵為索引添加前綴:
df = pd.concat(data)
無前綴:
df = pd.concat(data.values())
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/413680.html
標籤:
上一篇:基本讀取CSV檔案問題
