我在一个包含36个不同文件夹的目录中。每个文件夹中都有一个 csv。我想将它们中的每一个都附加到一起,以在 python 中制作一个大型数据框。
在 R 中,我会这样做:
cwd = getwd() #get current directory
fil = list.files() #get list of all files/folders in the directory
Bigdf = NULL #initialize empty df
for(i in fil){ #read through all folders in current directory
setwd(paste0(cwd,'/',i)) #navigate to i'th folder
fil2 = list.files() #get list of files in i'th folder
for(j in fil2){
a = read.csv(paste0(cwd,'/',i,'/',j)) #read in all csv's
Bigdf = rbind(Bigdf,a[,c(2,4:11)]) #append desired columns to data frame
}
setwd(cwd)
}
我将如何在python中做这样的事情?
我尝试实现如何使用 pandas 读取目录中所有文件的内容?以及如何列出目录的所有文件?但无济于事。我想我错过了一些明显的东西,希望有人能为我指出正确的方向。
import glob
import pandas as pd
li =[]
for filename in glob.iglob('src/**/*.csv', recursive=True):
df = pd.read_csv(filename, index_col=None, header=0)
li.append(df)
frame = pd.concat(li, axis=0, ignore_index=True)
组合
将多个 csv 文件导入熊猫并连接到一个数据帧
和
如何使用 glob(( 递归查找文件?