Python 通过从文件名中提取日期,将其添加到数据帧列表中
我有一个多数据帧列表Python 通过从文件名中提取日期,将其添加到数据帧列表中,python,pandas,dataframe,Python,Pandas,Dataframe,我有一个多数据帧列表dfs 数据帧来自名称中包含日期的文件。例如,文件名yyyymmdd.xlsx 我可以从文件名中提取日期: date_extract = re.search('[0-9]{8}',files[0...20]) date = datetime.datetime.strptime(date_extract[0...20], '%Y%m%d').date() 但是,我如何为每个df分配其各自的日期(通过添加一个名为“date”的列)?如果您使用pathlib我们可以使用字典保存数
dfs
数据帧来自名称中包含日期的文件。例如,文件名yyyymmdd.xlsx
我可以从文件名中提取日期:
date_extract = re.search('[0-9]{8}',files[0...20])
date = datetime.datetime.strptime(date_extract[0...20], '%Y%m%d').date()
但是,我如何为每个
df
分配其各自的日期(通过添加一个名为“date”的列)?如果您使用pathlib
我们可以使用字典保存数据帧并使用快速正则表达式提取日期,当我们连接数据帧时,索引将设置为日期
import re
from pathlib import Path
dfs = {
re.search('(\d{4}.*).xlsx',f.name).group(1): pd.read_excel(f,header=1)
for f in Path(
/dir
).glob("*.xlsx")
}
我需要的是添加一整列
df[date]
并填入相应的日期。@eduardo2111只需在末尾添加reset\u index()
?然后可以重命名该列。类似于pd.concat(dfs).reset_index(0).rename(columns={'level_0':'Date'})
!再次感谢@datanearel(这几天你一直在反复帮助我)。
import re
from pathlib import Path
dfs = {
re.search('(\d{4}.*).xlsx',f.name).group(1): pd.read_excel(f,header=1)
for f in Path(
/dir
).glob("*.xlsx")
}
print(pd.concat(dfs))
Unnamed: 0 e f c d
20200610 0 0 0.0 0.0 NaN NaN
1 1 0.0 0.0 NaN NaN
2 2 0.0 0.0 NaN NaN
3 3 0.0 0.0 NaN NaN
4 4 1.0 0.0 NaN NaN
5 5 0.0 1.0 NaN NaN
6 6 0.0 0.0 NaN NaN
7 7 0.0 0.0 NaN NaN
8 8 0.0 0.0 NaN NaN
9 9 0.0 0.0 NaN NaN
10 10 0.0 0.0 NaN NaN
11 11 0.0 0.0 NaN NaN
12 12 0.0 0.0 NaN NaN
13 13 0.0 0.0 NaN NaN
14 14 0.0 0.0 NaN NaN
15 15 0.0 0.0 NaN NaN
16 16 0.0 0.0 NaN NaN
17 17 0.0 0.0 NaN NaN
18 18 0.0 0.0 NaN NaN
19 19 0.0 0.0 NaN NaN
20 20 0.0 0.0 NaN NaN
21 21 0.0 0.0 NaN NaN
22 22 0.0 0.0 NaN NaN
23 23 0.0 0.0 NaN NaN
24 24 0.0 0.0 NaN NaN
25 25 0.0 0.0 NaN NaN
20201012 0 0 NaN NaN 0.0 0.0
1 1 NaN NaN 0.0 0.0
2 2 NaN NaN 1.0 0.0
3 3 NaN NaN 0.0 1.0