为了账号安全,请及时绑定邮箱和手机立即绑定

python - 如何使用 glob.glob 创建包含大量数据帧的字典

python - 如何使用 glob.glob 创建包含大量数据帧的字典

叮当猫咪 2022-06-28 17:36:12
我使用以下代码创建了一个包含一堆数据框的字典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)但是我想知道是否有一种更简单的方法可以使用 glob.iglob 来调用一堆 cvs 文件,这些文件仅在最后一个数字中有所不同——它表示年、月和日的日期——。我有超过 365 个文件,如果有人可以帮助我避免编写所有文件名,那将非常有帮助。
查看完整描述

1 回答

?
心有法竹

TA贡献1866条经验 获得超5个赞

您可以为此使用该pathlib模块。它包括一个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)

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


dataframes == {

    "auction_aggregated_curves_germany_austria_20100101": <DataFrame(...)>,

    "auction_aggregated_curves_germany_austria_20100102": <DataFrame(...)>,

    # etc...

}


查看完整回答
反对 回复 2022-06-28
  • 1 回答
  • 0 关注
  • 142 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号