之前写过一个批量提取excel数据的代码。今天把它改造成一个筛查几百人的体温数据代码,从里面提取体温超过37.3 的人的信息。
直接上代码 注意: 所有xlsx格式的文件可以适用 你的表格里面必须有体温数据
import pandas as pd
import numpy as np
import tkinter as tk #调用GUI图形模块
from tkinter import filedialog
from openpyxl import load_workbook,Workbook
import 获取excel文件名
def read_excel1(path):
data_xls = pd.ExcelFile(path)
#print(data_xls.sheet_names)
#print(name)
return data_xls.sheet_names
#原文链接:https://blog.csdn.net/CSU_GUO_LIANG/article/details/99235692
def pddata(path,k):
global xx,rows,dfdata,out
read_excel1(path)
rows=pd.read_excel(path, sheet_name=read_excel1(path)[k])
labels = list(rows.columns.values)
#print(rows)
aa=pd.DataFrame(rows)
dfdata=[]
x=np.array(rows.loc[:])
xx=pd.DataFrame(x)
y=x.tolist()
n=0
flag=0
for i in np.array(rows.loc[:]):
n+=1
for j in i:
try:
#
a=float(str(j))
if 37.3 <=a<40.0:
dfdata.append(i)
print('体温异常数据存在于行',n)
flag+=1
except Exception as e:
pass
#xx.drop(labels=[m],axis=0,inplace=True)
#bb=pd.DataFrame(dfdata)
#print('*****************************************************')
#print(pd.DataFrame([rows.columns.values]))
#print(xx[:2])
#print(pd.DataFrame(dfdata))
title0=pd.DataFrame([rows.columns.values])
#title1=xx[:2]
content=pd.DataFrame(dfdata)
out=pd.concat([title0,content])
if flag==0:
print('此表格不存在体温异常数据')
print(read_excel1(path)[k])
print(out)
return out
if __name__ == '__main__':
root = tk.Tk()
root.withdraw()
data_dir = filedialog.askdirectory(title='请选择图片文件夹')+'/'
file=获取excel文件名.方法_获取文件路径(data_dir)
#path='河曲中学高二开学前学生防疫监管信息登记表-2(5.07).xlsx'# 需要提取的文件
for i in file:
path=i
read_excel1(path)
wb =Workbook()
f=wb.save(str(i)[:-5]+'output.xlsx')# 需要输出的文件
for k in range(len(read_excel1(path))):
#for k in range(1):
writer=pd.ExcelWriter(str(i)[:-5]+'output.xlsx', engine='openpyxl')
book = load_workbook(str(i)[:-5]+'output.xlsx')
writer.book = book
data3 = pddata(path,k)
data3.to_excel(writer,sheet_name=read_excel1(path)[k],index=False)
writer.save()
print('数据源文件',i)
print('*****************************************************')
print('\n'*3)
上面的代码需要和下面的代码放一个文件夹 以下代码为了获取你选择的文件夹内 的 所有xlsx格式的文件目录地址以及文件名
以下代码文件被命名为 : 获取excel文件名 .py
因为上面的 ’ import 获取excel文件名 ’ 这一句要用到它
import os as tool
import tkinter as tk #调用GUI图形模块
from tkinter import filedialog
def 方法_获取文件路径(data_dir):
文件集 = tool.listdir(data_dir)
filename=[]
#return 文件集
for 文件名 in 文件集:
文件名分解 = 文件名.split('.')
#print(文件名分解)
if 文件名分解[-1] == 'xlsx': #or 文件名分解[-1] == 'xls':
excel文件路径 = (data_dir + '\\'+ 文件名)
filename.append(excel文件路径)
print(excel文件路径)
#print(filename)
return filename
#用对话框选择图片存储文件夹
#方法_获取文件路径(data_dir) #函数内部放入文件夹的路径 可以解析出所有的excel路径名 然后传入代码进行批量操作