如何使用lob.global创建包含大量数据帧的词典 [英] python - how to create a dictionary with a lot of dataframes using a glob.glob
本文介绍了如何使用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屋!
查看全文