环境:Python3.8.5 pip20.2.4 安装pandas库
条件:统计所有Excel中药品名称、数量,汇总到一张表中。

注意问题:初始化DataFrame()要放到for循环外中,否则会导致只统计最后一次循环的内容。
# 导包
import pandas as pd
import os
# 文件前置路径
path = r"C:\Users\admin\Desktop\99\222"
# 获取所有的文件
filename = os.listdir(path)
# 初始化DataFrame
data = pd.DataFrame()
# 遍历文件集合
for i in range(len(filename)):
# 读取文件
df = pd.read_excel("C:\\Users\\admin\\Desktop\\99\\222\\" + filename[i])
# 去掉第二行 感觉可以把这行代码去掉,未实验。
df1 = df.drop([1])
# 去掉药品名称列与数量的行数据包含NaN数据
df2 = df1[['Unnamed: 2', '配药信息']].dropna(axis=0)
# 得到最终需要的数据
df3 = df2.drop([0])
# 追加数据
data = data.append(df3)
# 写入到xxx.xlsx文件中
info_marks = pd.DataFrame(data)
info_marks.to_excel('222.xlsx')
打印df 得到以下格式

打印df1 得到以下格式

打印df2 得到以下格式

打印df3 得到最终格式 去掉了药品名称与数量行