新添加功能本来打算用gradio实现,但是gradio的依赖项产生了冲突,所以使用了html来实现。
报表分析的后端代码:
from flask import Flask, render_template, request, jsonify import pandas as pd app = Flask(__name__) @app.route('/') def index(): return render_template('index.html') @app.route('/upload', methods=['POST']) def upload(): file = request.files['file'] if file.filename.endswith('.xlsx'): # 保存上传的文件 file_path = f"uploads/{file.filename}" file.save(file_path) # 读取上传的 Excel 文件 df = pd.read_excel(file_path) # 处理日期列,确保其为字符串类型 df['日期'] = df['日期'].astype(str) # 计算净利润率 df['净利润率'] = df['净利润'] / df['营业收入'] * 100 # 准备要发送给前端的数据 data = { 'dates': df['日期'].tolist(), 'profit': df['净利润'].tolist(), 'revenue': df['营业收入'].tolist(), 'profitMargin': df['净利润率'].tolist() } return jsonify(data) else: return jsonify({'error': 'File format not supported'}) if __name__ == '__main__': app.run(debug=True, port=8000)