Python 使用glob时添加对文件时间戳列的修改
我在一个文件夹中有多个文件,用户可以在不同的时间修改这些文件。每周我都会将它们合并到一个主文件中,但我需要跟踪上次修改文件的时间。这是一个手动过程,我正在尝试自动化 我编写了glob代码,但似乎无法添加一个列来提供主文件中每个文件的修改时间Python 使用glob时添加对文件时间戳列的修改,python,pandas,glob,Python,Pandas,Glob,我在一个文件夹中有多个文件,用户可以在不同的时间修改这些文件。每周我都会将它们合并到一个主文件中,但我需要跟踪上次修改文件的时间。这是一个手动过程,我正在尝试自动化 我编写了glob代码,但似乎无法添加一个列来提供主文件中每个文件的修改时间 all_data = pd.DataFrame() for f in glob.glob("..\Python_Practice\Book*.xlsx"): df = pd.read_excel(f) all_data = all_data.
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')
它实际上不起作用,在论坛上也找不到任何类似它的东西你很接近了,但是你需要循环浏览你的文件,并将
os.path.getmtime
传递到一个列表中。然后,您可以将它们传递给索引
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)
以下将
.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)
我会尝试在处理每个文件时使用时间戳。您的代码可能会变成:
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()
谢谢你的快速回复!我试着运行代码,它一直说模块“datetime”没有属性“fromtimestamp”。有什么我做错了吗?抱歉@Alex Gould,在您的文件顶部放置
from datetime import datetime
任何时候,我的伙计,您也可以重置索引并将其分配给一列作为您的用例。继续自动化!