如何解决按日期顺序合并csv文件以创建Python Pandas
我正在合并3700个csv文件,总计1000万行。这些文件没有顺序命名,但是创建(降序)的日期是顺序的。我使用以下代码合并它们,但不知道如何添加以这种顺序选择它们。
import pandas as pd
import glob
path = r'C:\Users\User\' # path
all_files = glob.glob(path + "/*.csv")
li = []
for filename in all_files:
df = pd.read_csv(filename,index_col=None,header=0)
li.append(df)
frame = pd.concat(li,axis=0,ignore_index=True)
以下是从os修改日期(从最旧到最新)排列的文件名
V100(1005).csv V100(1).csv V100(778).csv V100(2).csv
文件名不是连续的,因为在下载其他文件时,文件名之间是不连续的。
解决方法
如果我正确理解了这个问题,则需要在循环之前(基于答案here)使用该循环,该循环按Python 3中的创建/修改日期对文件列表进行排序。
import os
all_files = sorted(all_files,key=os.path.getmtime)
#all_files = sorted(all_files,key=os.path.getctime) #works too
在MacO上进行测试:
import glob
all_files = glob.glob('V*.csv')
print(all_files)
#['V100-778.csv','V100-778-.csv','V100-1005-1.csv','V100-1.csv','V100-2.csv']
- 根据修改时间排序文件:
import os
all_files = sorted(all_files,key=os.path.getmtime)
print(all_files)
#['V100-778-.csv','V100-778.csv','V100-2.csv']
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。