如何按顺序读取同前缀CSV并创建对应命名的独立DataFrame
解决方案
方法一:用字典存储(推荐)
用字典管理所有DataFrame是更规范的方式,既避免变量名混乱,也方便后续批量操作:
import numpy as np import pandas as pd # 生成有序的后缀序列 T = np.arange(100, 2100, 100) df_dict = {} for i in T: # 按顺序读取文件并存入字典,键为后缀数字 df_dict[i] = pd.read_csv(f"samp_{i}.csv")
需要访问samp_100.csv的数据时,直接调用df_dict[100].head()即可,所有文件严格按100到2000的顺序存储。
方法二:动态创建独立变量(满足需求)
如果一定要生成df_100、df_200这类独立命名的变量,可以通过globals()操作全局命名空间实现:
import numpy as np import pandas as pd T = np.arange(100, 2100, 100) for i in T: # 动态生成变量名并赋值 globals()[f"df_{i}"] = pd.read_csv(f"samp_{i}.csv")
执行后可直接调用df_100.head()查看对应文件的首行数据,所有文件按顺序读取并保存为独立变量。
关于你遇到的问题说明
- 原代码中每次循环都会用新读取的DataFrame覆盖
df变量,最终df只保留最后一个文件(samp_2000.csv)的数据,这就是你看不到samp_100.csv内容的原因。 - 用
np.arange(100,2100,100)生成的序列是严格递增的,循环本身会按100、200…2000的顺序读取文件,不存在顺序错乱的问题。
内容的提问来源于stack exchange,提问作者user19619903
相关产品推荐
相关产品推荐

