想要统计一下报告中正常情况和异常情况的出现次数,但报告已经累计了很多,人工统计过于繁杂,python目前只是刚刚开始学习,数据分析还没接触,只有简单思路但是无法真正实现出来,希望能帮忙实现一下,谢谢
需求是:
1、大目录下有多个子目录,不同子目录中有同名的report.xlsx文件,需要统计每一个report.xlsx文件
2、report.xlsx文件中单元格C30的值可能是0或者1,需要分别统计是0或1的report文件总数
3、将统计的每一个report文件的路径、单元格C30的值,输出到一个excel中作为记录
import pandas as pd
import os
def proc_excel(filename):
df = pd.read_excel(filename)
dfres = df[(df['a'] == 0) | (df['a'] == 1)].groupby(by = 'a').count()
return dfres
def find_excel(dirname):
global dfR
excel_files = os.listdir(dirname)
for i in excel_files:
excel_file = dirname + "\\" + i
if os.path.isdir(excel_file):
find_excel(excel_file)
else:
if i == 'score.xlsx':
res = proc_excel(excel_file)
ress = res.to_dict()['b']
ress['file'] = excel_file
dfR = dfR.append(ress, ignore_index = True)
dfR = pd.DataFrame()
find_excel(dirname)
print(dfR)
'''--result
0 1 file
0 6.0 5.0 D:\Soft\testData\test\score.xlsx
1 3.0 3.0 D:\Soft\testData\test\新建文件夹\score.xlsx
'''