使用glob读取多个csv会导致顺序错误



我需要以正确的顺序读取多个CSV文件。这些文件以序号命名,如";file_0.csv";file_1.csv";file_2.csv",…"并以相同的顺序创建

在运行我的代码时,文件不是按这个顺序保存的,而是完全混淆了。路径文件夹中没有其他文件

path = "stored_files"
filenames = glob.iglob(path + "/*.csv")
dataframes = []
for filename in filenames:
dataframes.append(pd.read_csv(filename))

当然,glob提供对文件夹的随机顺序访问。您总是可以对filenames:

进行排序。
path = "stored_files"
filenames = glob.iglob(path + "/*.csv")
dataframes = []
for filename in sorted(filenames):
dataframes.append(pd.read_csv(filename))

字符串排序将不会排序字符串与数字的方式,你期望的(特别是,10在2之前)。所以,如果你知道你的文件名看起来像,做循环通过数字和附加"foo"+str(i)+".csv"或任何到你的文件列表。

最新更新