问题遇到的现象和发生背景
用代码块功能插入代码,请勿粘贴截图
我想要达到的结果
由于import pandas as pd
df = pd.read_excel(
io=r'C:\Users\Administrator\Desktop\xbx_stock_2019\data\中垦定边智慧生态牧场项目(一期)建设工程-总包((土建+安装)最终版初版(审核)2(1).xlsx',
skiprows=[0,1,2,3],
usecols=[0,1,2,3,5,6,7,8,10,11,12],
sheet_name=None
)
问题1:由于 sheet_name=None,读入的是一个字典,字典的key为sheet的名称,字典的values为sheet的内容,现在我同同时读入了所有的sheet,sheet里的每一个values都成了一个表格,而我只想把sheet里的内容当成一个dateframe来进行操作,但感觉很难进行该转换。我不知道该如何操作每个key对应的value进行dateframe的相关整列或者整行的操作~很是苦恼;

问题2,:由于问题1缘故,我换了思路,我想单独读取每一个sheet,进行我设定的dateframe的一系列函数操作,然后再按照sheet的名称保存到新的excel中去,再将新的excel里所有的sheet,再合成为一个dateframe,感觉自己好难啊,欢迎大家帮忙解决一下这个问题,
下面是我dateframes正常的函数操作:
df.columns = ['序号','清单编码','清单名称','单位','送审工程量','送审综合单价','送审综合合价','审定工程量','审定综合单价','审定综合合价','增减金额']
# print(df)
df.dropna(subset =['送审工程量','审定工程量'],how = 'all',axis = 0 , inplace=True)
df['送审工程量'].fillna(value=0,inplace=True,axis = 0 )
df['审定工程量'].fillna(value=0,inplace=True,axis = 0 )
df['增减金额']=df['审定工程量']*df['审定综合单价']-df['送审工程量']*df['送审综合单价']
df.drop(df[df['增减金额']==0].index,axis = 0 , inplace=True)
# print(df[['序号','送审工程量','送审综合单价','送审综合合价','审定工程量','审定综合单价','审定综合合价','增减金额']].head(70))
df.reset_index(inplace=True, drop=True)
df['序号']=df.index+1
df['判断增减']=df['增减金额'].apply(lambda x:'审增金额约' if x>0 else '审减金额约')
df['切片字段']=df['清单名称'].str.split('\n').str[0].str.strip('')
df['审核报告字段1']=df['序号'].astype(str)+','+df['切片字段']+'送审工程量为'+df['送审工程量'].astype(str)+df['单位']+','+'审定工程量为' \
+df['审定工程量'].astype(str)+df['单位']+','+df['判断增减']+df['增减金额'].abs().astype(str)+'元;'
df['审核报告字段2']=df['序号'].astype(str)+','+df['切片字段']+'送审工程量为'+df['送审工程量'].astype(str)+df['单位']+ \
',送审综合单价为'+df['送审综合单价'].astype(str)+'元,'+'审定工程量为'+df['审定工程量'].astype(str) \
+df['单位']+',审定综合单价为'+df['审定综合单价'].astype(str)+'元,'+df['判断增减']+df['增减金额'].abs().astype(str)+'元;'
df['审核报告字段']=df.apply(lambda x:x['审核报告字段2'] if x['送审综合单价'] != x['审定综合单价'] else x['审核报告字段1'] ,axis=1)
print(df[['审核报告字段']])

最终想要的结果目的是,每一个sheet执行操作后得到这样一串文字,每一个sheet的文字的序号都是从1开始排序的;所以同时读入很多sheet并合成后一个dateframe后,生成的字段就没法按照每个sheet进行排序了,就像这样:
