在包含多个工作表的工作簿中循环并提取python中的值
我有一个包含多个工作簿的excel spreedsheet,每个工作簿都有以下属性:在包含多个工作表的工作簿中循环并提取python中的值,python,pandas,dataframe,Python,Pandas,Dataframe,我有一个包含多个工作簿的excel spreedsheet,每个工作簿都有以下属性: data = pd.DataFrame({ 'start date': ['1988/01/12', '1988/01/13', '1988/01/14', '1989/01/20','1990/01/01'], 'end date': ['1989/01/12', '1989/01/12', '1989/01/12', '1990/01/20','1991/01/01'], 'value': [1155852
data = pd.DataFrame({
'start date': ['1988/01/12', '1988/01/13', '1988/01/14', '1989/01/20','1990/01/01'],
'end date': ['1989/01/12', '1989/01/12', '1989/01/12', '1990/01/20','1991/01/01'],
'value': [11558522, 12323552, NaN, 18412280, NaN]
})
我想循环浏览工作簿中的每张工作表,并:
data = pd.DataFrame({
sheet name': ['sheet 1', 'sheet 2', 'sheet 3', 'sheet 4','sheet5'],
'start date': ['1988/01/12', '1988/01/13', '1988/01/14', '1989/01/20','1990/01/01'],
'end date': ['1989/01/12', '1989/01/12', '1989/01/12', '1990/01/20','1991/01/01'],
'missing values': [3, 10, 1, 43, 8]
})
对所有工作表使用
sheet\u name
in对数据帧进行排序,将列转换为日期时间,通过创建的掩码的sum
计算最小和最大错误值,最后附加到列表,最后通过构造函数创建新的DataFrame
:
L = []
for s, df in pd.read_excel('test.xlsx', sheet_name=None).items():
d = {'sheet name': s,
'start date': pd.to_datetime(df['start date']).min(),
'end date': pd.to_datetime(df['end date']).max(),
'missing values':df['value'].isna().sum()}
L.append(d)
df1 = pd.DataFrame(L)