这完美无缺。
for fname in glob.iglob(path):
df2 = pd.read_excel(fname, skiprows=5, header=0).dropna(subset=['TreeNodeCode'],how='any')
但是,每个excel表都有不同的行数要跳过,所以我试图让一个变量循环跳过:
我试过了:
skip_row_number=list('5')
df2 = pd.read_excel(fname, skiprows=skip_row_number, header=0).dropna(subset=['Code'],how='any')
或
skip_row_number="5"
df2 = pd.read_excel(fname, skiprows=skip_row_number, header=0).dropna(subset=['Code'],how='any')
两者都返回:
第3489行,在dropna中 提出KeyError(list(np.compress(check,subset))) KeyError:[' Code']但是,用户手册说
skiprows : list-like
Rows to skip at the beginning (0-indexed)
https://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_excel.html
所以我很困惑。任何一位大师能开导吗?
我们在python 3.6和pandas 0.21.0
答案 0 :(得分:0)
感谢所有答案!评论中的答案似乎不起作用,但我使用了一种有点丑陋的方式:
if CLIENT_ID in ('6'):
df2 = pd.read_excel(fname, skiprows=5, header=0).dropna(subset=['TreeNodeCode'],how='any')
elif CLIENT_ID in ('7','23'):
df2 = pd.read_excel(fname, skiprows=4, header=0).dropna(subset=['TreeNodeCode'],how='any')