我有一本excel工作簿,里面有36张。每张表都有相同的列——我实际上只需要5列(下面(,但还有很多。每张图纸都遵循以下命名约定YYYY-MM-DD MRR
订阅ID | 激活时间激活时间(天( | 当前状态 | MRR |
---|
如果我正确理解你的问题,你根本不需要for循环。使用concat函数可以很容易地组合Excel表格数据。只需初始化即可添加其他列。然后,您可以使用逻辑来填充这些附加列的值。
考虑这个代码:
import pandas as pd
excel = 'Total_MRR_ALL.xlsx'
sheets_dict = pd.read_excel(excel, sheet_name=None, usecols="A,B,C,D,E,F,G")
column_names = ["Subscription ID", "Activated At", "Activated For (days)", "Current Status", "Pause Start Date", "Pause End Date", "Pause End Status"]
# combine all sheets to a single dataframe
master = pd.concat(sheets_dict.values())
master = master.set_index("Subscription ID")
# new columns added with initial values. Populate calculated values
master['Jan 2019 MRR'] = 0;
master['Feb 2019 MRR'] = 'a';
master['Mar 2019 MRR'] = '';
# prints the output to csv
master.to_csv("output.csv")