【发布时间】:2020-02-03 00:10:53
【问题描述】:
我正在使用此代码提取两个具有相似命名约定的 CSV,将它们的文件名放在“文件”列中,并将数据帧连接到一个名为 NatHrs 的数据帧中。
import glob
from pathlib import Path
path = r'C:\Users\ThisUser\Desktop\AC Mbr Analysis'
all_files = glob.glob(path + '\\Natl_hours_YTD_OC_*.csv')
Nat_dfs = []
for file in all_files:
df = pd.read_csv(file, index_col=None, encoding='windows-1252', header=1 )
df['File'] = file
Nat_dfs.append(df)
NatHrs = pd.concat(Nat_dfs)
现在,我想使用“文件”列,它返回一个文件名对象,其中的条目看起来像“C:\Users\ThisUser\Desktop\AC Mbr Analysis\Natl_hours_YTD_OC_2018-2019”,只提取文件名的结尾--在本例中为“2018-2019”--并将这些字符放入新列“程序年”中,反映条目“2018-2019”。我在操作字符串或系列方面没有成功——我应该使用 path.replace 吗?我搞不清楚了。当我描述我要解析的列时......
NatHrs['File'].describe
...我明白了:
Name: File, dtype: object>
【问题讨论】:
标签: python pandas path filenames csvreader