from flask import Flask, render_template, request import pandas as pd app = Flask(__name__) # 首页 @app.route('/') def index(): return render_template('index.html') # 登记数据页面 @app.route('/record', methods=['GET', 'POST']) def record(): if request.method == 'POST': # 获取表单数据 date = request.form['date'] shift = request.form['shift'] line = request.form['line'] machine = request.form['machine'] issue = request.form['issue'] isn = request.form['isn'] # 将数据保存到Excel文件 data = pd.DataFrame({ '日期': [date], '班次': [shift], '线别': [line], '不良机种': [machine], '不良现象': [issue], '不良ISN': [isn] }) filepath = 'D:/data.xlsx' data.to_excel(filepath, index=False, header=False if not pd.read_excel(filepath).size else True) return '<h1>数据已保存</h1>' else: return render_template('record.html') # 查询数据页面 @app.route('/query', methods=['GET', 'POST']) def query(): if request.method == 'POST': # 获取表单数据 date = request.form['date'] line = request.form['line'] machine = request.form['machine'] issue = request.form['issue'] # 从Excel文件中查询数据 data = pd.read_excel('D:/data.xlsx') query = data[(data['日期'] == date) & (data['线别'] == line) & (data['不良机种'] == machine) & (data['不良现象'] == issue)] query_html = query.to_html() return query_html else: return render_template('query.html') if __name__ == '__main__': app.run()
时间: 2024-04-03 09:35:56 浏览: 101
pandas的使用方法
这段代码是一个使用 Flask 框架开发的 Web 应用程序,包含三个路由函数:
1. index() 函数,用于处理根目录请求,返回一个 HTML 模板页面;
2. record() 函数,用于处理登记数据页面的 GET 和 POST 请求,如果是 POST 请求,就获取表单数据,将数据保存到 Excel 文件中,并返回一个“数据已保存”的提示信息;如果是 GET 请求,就返回一个 HTML 模板页面;
3. query() 函数,用于处理查询数据页面的 GET 和 POST 请求,如果是 POST 请求,就获取表单数据,从 Excel 文件中查询数据,将查询结果转换为 HTML 表格,并返回给客户端;如果是 GET 请求,就返回一个 HTML 模板页面。
但是,如果在 POST 请求处理过程中,没有提供“日期”这个关键词,就会引发 KeyError 异常。这是因为程序会从表单数据中获取“日期”,并使用它创建一个 DataFrame 对象,但是如果没有提供“日期”,就会导致 DataFrame 对象创建失败,进而引发 KeyError 异常。
阅读全文