import os
import pandas as pd
qx_xlsx_path = r'C:\Users\weatherFile\xlsx' # 里面是多个sheet的excel文件
files = os.listdir(qx_xlsx_path)
fst = True
meto_dict = {}
for f in files:
df_dict = pd.read_excel(qx_xlsx_path + '\\' + f, sheet_name=None, index_col= 2)
if len(df_dict) <= 1:
continue
if fst:
fst = False
for fm in df_dict:
meto_dict[fm] = df_dict[fm].iloc[10:60, :]
else:
for fm in df_dict:
if fm !='Sheet1':
base = meto_dict[fm].index
中间的两个 if 判断不明白什么意思,有懂得帮忙解答下吗,万分感谢!
meto_dict[fm] = df_dict[fm] 这种用法也不明白
在for 循环中第一个if判断是剔除工作薄为空的文件,第二个if判断作用是将读取到的数据框的一部分赋值给新的数据框,并置fst为False。语句meto_dict[fm] = df_dict[fm] 是取数据框的index和value为新字典键名,并将读取到的数据框同一标签下的10到60行所有列的数据赋值给字典对应健的值。
if len(df_dict) <= 1:
continue
首先,你要知道这是一个遍历文件夹,打开每个文件的操作
那么如果读到的数据数量小于1,表示里面是个空excel表,跳过
if fst:
等价于if fst==True:
让第一次循环和之后的循环进入不同的分支