我在一个文件夹中有多个文件,这些文件在不同时间被用户修改。每周我都将它们合并到一个主文件中,但是我需要跟踪上次修改文件的时间。这是我要自动化的手动过程。
我编写了全局代码,但似乎无法添加一列,该列将提供从每个文件到主文件的修改时间
all_data = pd.DataFrame()
for f in glob.glob("..\Python_Practice\Book*.xlsx"):
df = pd.read_excel(f)
all_data = all_data.append(df, ignore_index=True)
all_data.head()
all_data[time] = time.strftime('%m%d%H%M', os.path.gmtime('file')
它并没有真正起作用,并且在论坛上找不到任何可能做类似事情的东西
答案 0 :(得分:1)
您已经很接近了,但是您需要遍历文件并将os.path.getmtime
传递到列表中。您可以将它们传递给索引。
以下内容将会
.xlsx
个文件
from datetime import datetime
allFiles = glob.glob('*.xlsx')
dfs = [pd.read_excel(f) for f in allFiles]
keys = [datetime.fromtimestamp(os.path.getmtime (f)).strftime('%Y-%m-%d %H:%M:%S') for f in allFiles]
frame = pd.concat(dfs, keys=keys)
答案 1 :(得分:1)
在处理每个文件时,我会尝试使用时间戳。您的代码可能会变成:
all_data = pd.DataFrame()
for f in glob.glob("..\Python_Practice\Book*.xlsx"):
df = pd.read_excel(f)
df['time'] = time.strftime('%m%d%H%M', os.path.gmtime('file')
all_data = all_data.append(df, ignore_index=True)
all_data.head()