我有一个包含 Excel 文件的目录,我正在循环遍历这些文件并将每个文件中的一张表读取到 Pandas 数据框中。每个文件包含一个月的数据(示例名称=“Savings January 2019.xlsx”)。Excel工作表中没有日期列,因此我想在数据框中添加“日期”列,并按工作簿名称中的月份和年份读取每个文件(例如“2019年1月”)和添加“MM-DD-YYYY”(例如“01-01-2019”)作为读入的每行的日期值。
下面是我的工作循环,读取 12 个没有日期的 Excel 工作簿,仅生成所有 12 个月的总计。我需要日期,以便可以按月可视化数据。
df_total = pd.DataFrame()
for file in files: # loop through Excel files (each file adds date value based on file name)
if file.endswith('.xlsx'):
excel_file = pd.ExcelFile(file)
sheets = excel_file.sheet_names
for sheet in sheets: # loop through sheets inside an Excel file
df = excel_file.parse(sheet_name = "Group Savings")
df_total = df_total.append(df)
当前 df:
State Group Value
0 Illinois 000000130 470.93
1 Illinois 000000130 948.33
2 Illinois 000000784 3498.42
3 Illinois 000000784 16808.16
4 Illinois 000002077 7.00
需要df:
State Group Date Value
0 Illinois 000000130 01-01-2019 470.93
1 Illinois 000000130 01-01-2019 948.33
2 Illinois 000000784 01-01-2019 3498.42
3 Illinois 000000784 02-01-2019 6808.16
4 Illinois 000002077 02-01-2019 7.00
我做了一些研究,认为这就像创建列然后添加日期值,但无法弄清楚如何解析文件名来执行此操作,并且我显然是这里的初学者。
for sheet in sheets: # loop through sheets inside an Excel file
df = excel_file.parse(sheet_name = "Group Savings")
df_total = df_total.append(df)
df_total['Date'] = #if excel_file contains 'January 2019', then df_total['Date'] == '01-01-2019
阿晨1998
哔哔one
相关分类