问题描述
需要一些帮助,要求从csv文件名中提取日期并加载到列中。
输入文件= ABC_XYZ_EXPORT-20170101.csv,ABC_XYZ_EXPORT-20170102.csv
我能够在循环中读取这两个文件,但是日期只提取一次,对于两个不同文件中的所有记录都是静态的。 我不确定,但由于循环不正确,这可能非常好。 请帮忙。 提前致谢。
for input_file in allFiles:
exc_date = input_file
exc_date = re.sub('ABC_XYZ_EXPORT-+([0-9]+)[.]csv$', r'\1', exc_date)
#print(exc_date)
#PD pandas dataframe
for d in exc_date:
csv_input = pd.concat((pd.read_csv(f) for f in allFiles))
csv_input['Load_date'] = exc_date
csv_input.to_csv('outputpd.csv')
1楼
在IIUC中,您需要从多个文件中读取数据,并将Load_Date列分配给具有文件名日期的列。
allFiles = ['ABC_XYZ_EXPORT-20170101.csv' , 'ABC_XYZ_EXPORT-20170102.csv']
csv_input =pd.DataFrame()
for input_file in allFiles:
#Loop through each file
exc_date = input_file
exc_date = re.sub('ABC_XYZ_EXPORT-+([0-9]+)[.]csv$', r'\1', exc_date)
df=pd.read_csv(input_file)
df['Load_date'] = exc_date #Add date for that file alone
csv_input.append(df) # append to previously read data
csv_input.to_csv('outputpd.csv') #Creates a single output file with contents from all files.