如何使用lob.global创建包含大量数据帧的词典 [英] python - how to create a dictionary with a lot of dataframes using a glob.glob

查看:0
本文介绍了如何使用lob.global创建包含大量数据帧的词典的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用以下代码创建了一个包含大量数据帧的词典

files = ('auction_aggregated_curves_germany_austria_20100101.csv', 'auction_aggregated_curves_germany_austria_20100102.csv', 'auction_aggregated_curves_germany_austria_20100103.csv', 'auction_aggregated_curves_germany_austria_20100104.csv', 'auction_aggregated_curves_germany_austria_20100105.csv')

dfs = ('df1', 'df2', 'df3', 'df4', 'df5')

list_of_dfs = {}
for df, file in zip(dfs, files):
       list_of_dfs[df] = pd.read_csv(file, skiprows=1)
然而,我想知道是否有一种更简单的方法来自动化这个过程,使用lob.iglob来调用一组CVS文件,这些文件只是在最后一个数字上不同-这表明日期是年、月和日-。我有超过365个文件,如果有人能帮助我避免写入所有文件名,那将是非常有帮助的。

提前谢谢。

推荐答案

可以使用the pathlib module。它包含glob方法。

from pathlib import Path

dataframes = {}

csv_root = Path(".")

for csv_path in csv_root.glob("*.csv"):
    key = csv_path.stem  # the filename without the ".csv" extension
    dataframes[key] = pd.read_csv(csv_path)

将此代码与您的示例数据一起使用,dataframes字典将如下所示:

dataframes == {
    "auction_aggregated_curves_germany_austria_20100101": <DataFrame(...)>,
    "auction_aggregated_curves_germany_austria_20100102": <DataFrame(...)>,
    # etc...
}

这篇关于如何使用lob.global创建包含大量数据帧的词典的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆