python接受http数据并保持exec

import json
import pandas as pd
import os
from http.server import HTTPServer, SimpleHTTPRequestHandler


# 替换为您的文件路径
file_path = 'output.xlsx'

class MyHandler(SimpleHTTPRequestHandler):
    def do_POST(self):
        self.send_response(200)
        self.send_header('Content-type', 'application/json')
        self.end_headers()

        if self.path == '/get_count':
            datas = self.rfile.read(int(self.headers['content-length']))
            #print('headers', self.headers)
            json_data= datas.decode("utf-8")
            #print("do post:", self.path, self.client_address, datas.decode("utf-8"))
            # 写入JSON文件
            #with open('data.json', 'w', encoding='utf-8') as f:
            #json.dump(json_data, f, ensure_ascii=False, indent=4)
            data = json.loads(json_data)
            # 将JSON数据转换为pandas DataFrame
            type = data['name']+'-'+data['time']
            data_count={type:data['custom']['total']}
           
            # 打开JSON文件读取现有数据
            with open('output.json', 'r') as file:
                existing_data = json.load(file)
 
            # 将新数据作为一个元素追加到数组中
            existing_data.update(data_count)
 
            # 写回文件
            with open('output.json', 'w') as file:
                json.dump(existing_data, file, ensure_ascii=False, indent=4)


        if self.path == '/get_data':
            datas = self.rfile.read(int(self.headers['content-length']))
            #print('headers', self.headers)
            json_data= datas.decode("utf-8")
            #print("do post:", self.path, self.client_address, datas.decode("utf-8"))
            # 写入JSON文件
            #with open('data.json', 'w', encoding='utf-8') as f:
            #json.dump(json_data, f, ensure_ascii=False, indent=4)
            data = json.loads(json_data)
            # 将JSON数据转换为pandas DataFrame
            file_path = data['name']+data['time']+'.xlsx'
            df = pd.DataFrame(data['custom']['custom'])
            if os.path.exists(file_path):
                # 先将Excel中原有的数据读取出来
                original_data = pd.read_excel(file_path)
                # 追加到Excel文件,如果文件不存在会创建
                save_data = pd.concat([original_data, df], axis=0)
                save_data.to_excel(file_path, index=False)
            else:
                # 将DataFrame写入Excel文件
                df.to_excel(file_path, index=False)
     
server_address = ('', 8008)
httpd = HTTPServer(server_address, MyHandler)
httpd.serve_forever()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值