繁体   English   中英

将多个文件中的数据检索到多个数据帧中

[英]Retrieving data from multiple files into multiple dataframes

场景:我在一个文件夹中有一个文件列表(包括文件路径)。 我正在尝试将每个文件的内容放入一个数据框(每个文件一个),然后进一步执行一些操作,然后合并这些数据框。

从SO的其他各种问题中,我发现了遍历文件夹中的文件并获取数据的多种方法,但是我发现所有这些方法通常都可以循环准备文件并自动将它们连接到单个数据框中,这是行不通的为了我。

例如:

import os
import pandas as pd
path = os.getcwd()
files = os.listdir(path)
files_xls = [f for f in files if f[-3:] == 'xls*']
df = pd.DataFrame()
for f in files_xls:
    data = pd.read_excel(f, 'Sheet1')
    df = df.append(data)

要么

import pandas as pd
import glob
all_data = pd.DataFrame()
for f in glob.glob("*.xls*"):
    df = pd.read_excel(f)
    all_data = all_data.append(df,ignore_index=True)

我发现的唯一代码片段是:

from os.path import isfile, join
import glob
mypath = "/DGMS/Destop/uploaded"
listoffiles = glob.glob(os.path.join(mypath, "*.xls*"))
contentdataframes = (pd.read_excel(f) for f in listoffiles)

该行运行无误,但是它们似乎什么也不做,没有变量,也没有创建或更改。

问题:我在这里做错了什么? 有一个更好的方法吗?

您真的很亲密,需要通过concat生成器连接所有数据:

contentdataframes = (pd.read_excel(f) for f in listoffiles)
df = pd.concat(contentdataframes, ignore_index=True)

如果需要list of DataFrames

contentdataframes = [pd.read_excel(f) for f in listoffiles]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM