以最新的修改时间将3个文件读入Pandas Dataframe

时间:2018-08-20 08:34:32

标签: python python-3.x pandas

我有一个文件夹,其中存储了我的python程序生成的文本文件(CSV格式的数据)。我想以最新修改时间将3个文件(文件名以LogFile_Date开头)读入Pandas Dataframe。我正在使用Windows操作系统和Python 3。

2 个答案:

答案 0 :(得分:1)

为此提供了帮助:How do you get a directory listing sorted by creation date in python?。 我想这就是你想要的:

import os
import pandas as pd

search_dir = r"C:\mydir"
os.chdir(search_dir)
files = filter(os.path.isfile, os.listdir(search_dir))
files = [os.path.join(search_dir, f) for f in files] # add path to each file
files.sort(key=lambda x: os.path.getmtime(x), reverse=True)
dfs=[]
for i in range(3):
    dfs.append(pd.read_csv(files[i].split('\\')[-1],
                           delimiter=','))

答案 1 :(得分:0)

import os
import pandas as pd

search_dir = r"C:\Users\123\Documents\Folder"
os.chdir(search_dir)
files = filter(os.path.isfile, os.listdir(search_dir))
files = [os.path.join(search_dir, f) for f in files] # add path to each file
files.sort(key=lambda x: os.path.getmtime(x), reverse=True)
dfs = pd.DataFrame()
for i in range(2):
    dfs = dfs.append(pd.read_csv(files[i].split('\\')[-1],delimiter=',', header=None, usecols=[0,1,2], names=['colA', 'colB', 'colC']))

dfs = dfs.reset_index(drop=True)
print(dfs)