Python中如何拼接变量与字符串?实现动态变量存储CSV文件
解决Python中动态创建变量存储CSV文件的问题
嘿,这个问题我之前也踩过坑!你原来的写法行不通,因为Python里赋值语句的左边必须是合法的变量名,而case+'biofile'是一个字符串表达式,不能直接当变量名用。
推荐方案:用字典存储(最佳实践)
其实更清晰、更易维护的方式是用字典来管理这些动态生成的数据集,既不会污染全局命名空间,后续访问也更方便:
import pandas as pd cases = ['087360','095140'] # 创建空字典来存储每个case对应的DataFrame bio_files = {} for case in cases: # 生成对应的键名和文件路径 key_name = f"{case}biofile" file_path = f"{case}/InputFiles/BioSave.csv" # 读取文件并存入字典 bio_files[key_name] = pd.read_csv(file_path)
之后你想访问某个数据集时,直接通过字典的键来获取就行:
# 访问087360对应的biofile print(bio_files['087360biofile'].head())
可选方案:动态创建全局变量(不推荐)
如果你确实需要把它们变成独立的全局变量,也可以用globals()函数实现,但非常不推荐这种写法——会让代码的可读性和可维护性大幅下降,还容易出现变量名冲突:
import pandas as pd cases = ['087360','095140'] for case in cases: var_name = f"{case}biofile" # 直接修改全局命名空间,创建变量 globals()[var_name] = pd.read_csv(f"{case}/InputFiles/BioSave.csv")
这样之后你就能直接用087360biofile或095140biofile这些变量了,但还是强烈建议用字典的方式哦!
内容的提问来源于stack exchange,提问作者DPdl
相关产品推荐
相关产品推荐

