如何在循环中为DataFrame名称添加对应文件夹名称?
实现动态命名的DataFrame创建
推荐方式:用字典存储(更易维护)
直接用字典管理所有动态生成的DataFrame,既能避免命名混乱,也方便后续批量操作:
import pandas as pd import os # 用于适配不同系统的路径拼接 scenarios_list = [2020, 2021, 2022] path = "你的目标文件夹路径" # 初始化字典存储DataFrame typology_dfs = {} for year in scenarios_list: # 用os.path.join避免路径分隔符的系统差异问题 file_path = os.path.join(path, str(year), "data.csv") # 将DataFrame存入字典,键为目标名称 typology_dfs[f"typology_{year}"] = pd.read_csv(file_path) # 访问示例:获取2020年的DataFrame print(typology_dfs["typology_2020"].head())
直接创建全局变量(不推荐,仅满足需求)
如果一定要生成独立的变量名,可以通过globals()函数动态创建全局变量:
import pandas as pd import os scenarios_list = [2020, 2021, 2022] path = "你的目标文件夹路径" for year in scenarios_list: file_path = os.path.join(path, str(year), "data.csv") # 动态生成全局变量 globals()[f"typology_{year}"] = pd.read_csv(file_path) # 直接访问生成的变量 print(typology_2021.info())
注意事项
- pandas读取csv文件用
pd.read_csv(),而非pd.read_file() - 路径拼接优先用
os.path.join(),适配Windows/macOS/Linux的路径分隔符差异 - 优先选择字典存储的方式,动态创建变量容易引发命名冲突,且不利于后续批量处理
内容的提问来源于stack exchange,提问作者Ricardo Gomes
相关产品推荐
相关产品推荐

