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()
python接受http数据并保持exec
最新推荐文章于 2024-10-14 09:08:48 发布