aup接口更改,沥青定性定量数据更改
This commit is contained in:
parent
ea3b333936
commit
81e255747c
Binary file not shown.
Binary file not shown.
@ -2,7 +2,7 @@
|
|||||||
"cells": [
|
"cells": [
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": 7,
|
"execution_count": 5,
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [],
|
"outputs": [],
|
||||||
"source": [
|
"source": [
|
||||||
@ -211,7 +211,6 @@
|
|||||||
" \n",
|
" \n",
|
||||||
" \n",
|
" \n",
|
||||||
" \n",
|
" \n",
|
||||||
" \n",
|
|
||||||
"def start_1():\n",
|
"def start_1():\n",
|
||||||
" workbook = xlrd.open_workbook(read_file_path_name)\n",
|
" workbook = xlrd.open_workbook(read_file_path_name)\n",
|
||||||
"\n",
|
"\n",
|
||||||
@ -472,22 +471,22 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": 8,
|
"execution_count": 6,
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [
|
"outputs": [
|
||||||
{
|
{
|
||||||
"name": "stdout",
|
"name": "stdout",
|
||||||
"output_type": "stream",
|
"output_type": "stream",
|
||||||
"text": [
|
"text": [
|
||||||
"20241209\n"
|
"20241217\n"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"source": [
|
"source": [
|
||||||
"from datetime import datetime, timedelta\n",
|
"from datetime import datetime, timedelta\n",
|
||||||
"\n",
|
"\n",
|
||||||
"start_date = datetime(2024, 12, 9)\n",
|
"start_date = datetime(2024, 12, 17)\n",
|
||||||
"end_date = datetime(2024, 12, 10)\n",
|
"end_date = datetime(2024, 12, 18)\n",
|
||||||
"\n",
|
"\n",
|
||||||
"while start_date < end_date:\n",
|
"while start_date < end_date:\n",
|
||||||
" print(start_date.strftime('%Y%m%d'))\n",
|
" print(start_date.strftime('%Y%m%d'))\n",
|
||||||
|
@ -795,14 +795,14 @@
|
|||||||
"name": "stdout",
|
"name": "stdout",
|
||||||
"output_type": "stream",
|
"output_type": "stream",
|
||||||
"text": [
|
"text": [
|
||||||
"20241212\n"
|
"20241217\n"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "stderr",
|
"name": "stderr",
|
||||||
"output_type": "stream",
|
"output_type": "stream",
|
||||||
"text": [
|
"text": [
|
||||||
"C:\\Users\\EDY\\AppData\\Local\\Temp\\ipykernel_19760\\2239815117.py:299: UserWarning:\n",
|
"C:\\Users\\EDY\\AppData\\Local\\Temp\\ipykernel_4500\\2239815117.py:299: UserWarning:\n",
|
||||||
"\n",
|
"\n",
|
||||||
"The argument 'infer_datetime_format' is deprecated and will be removed in a future version. A strict version of it is now the default, see https://pandas.pydata.org/pdeps/0004-consistent-to-datetime-parsing.html. You can safely remove this argument.\n",
|
"The argument 'infer_datetime_format' is deprecated and will be removed in a future version. A strict version of it is now the default, see https://pandas.pydata.org/pdeps/0004-consistent-to-datetime-parsing.html. You can safely remove this argument.\n",
|
||||||
"\n"
|
"\n"
|
||||||
@ -812,7 +812,7 @@
|
|||||||
"name": "stdout",
|
"name": "stdout",
|
||||||
"output_type": "stream",
|
"output_type": "stream",
|
||||||
"text": [
|
"text": [
|
||||||
"Using matplotlib backend: <object object at 0x0000015D1F0FF090>\n",
|
"Using matplotlib backend: <object object at 0x0000017F4168F090>\n",
|
||||||
"%pylab is deprecated, use %matplotlib inline and import the required libraries.\n",
|
"%pylab is deprecated, use %matplotlib inline and import the required libraries.\n",
|
||||||
"Populating the interactive namespace from numpy and matplotlib\n",
|
"Populating the interactive namespace from numpy and matplotlib\n",
|
||||||
"Fitting 3 folds for each of 180 candidates, totalling 540 fits\n"
|
"Fitting 3 folds for each of 180 candidates, totalling 540 fits\n"
|
||||||
@ -824,7 +824,7 @@
|
|||||||
"text": [
|
"text": [
|
||||||
"d:\\ProgramData\\anaconda3\\Lib\\site-packages\\IPython\\core\\magics\\pylab.py:162: UserWarning:\n",
|
"d:\\ProgramData\\anaconda3\\Lib\\site-packages\\IPython\\core\\magics\\pylab.py:162: UserWarning:\n",
|
||||||
"\n",
|
"\n",
|
||||||
"pylab import has clobbered these variables: ['datetime', 'plot', 'random', '__version__']\n",
|
"pylab import has clobbered these variables: ['__version__', 'plot', 'random', 'datetime']\n",
|
||||||
"`%matplotlib` prevents importing * from pylab and numpy\n",
|
"`%matplotlib` prevents importing * from pylab and numpy\n",
|
||||||
"\n"
|
"\n"
|
||||||
]
|
]
|
||||||
@ -844,108 +844,33 @@
|
|||||||
"name": "stderr",
|
"name": "stderr",
|
||||||
"output_type": "stream",
|
"output_type": "stream",
|
||||||
"text": [
|
"text": [
|
||||||
"C:\\Users\\EDY\\AppData\\Local\\Temp\\ipykernel_19760\\2239815117.py:239: UserWarning:\n",
|
"C:\\Users\\EDY\\AppData\\Local\\Temp\\ipykernel_4500\\2239815117.py:239: UserWarning:\n",
|
||||||
"\n",
|
"\n",
|
||||||
"The argument 'infer_datetime_format' is deprecated and will be removed in a future version. A strict version of it is now the default, see https://pandas.pydata.org/pdeps/0004-consistent-to-datetime-parsing.html. You can safely remove this argument.\n",
|
"The argument 'infer_datetime_format' is deprecated and will be removed in a future version. A strict version of it is now the default, see https://pandas.pydata.org/pdeps/0004-consistent-to-datetime-parsing.html. You can safely remove this argument.\n",
|
||||||
"\n"
|
"\n",
|
||||||
]
|
"C:\\Users\\EDY\\AppData\\Local\\Temp\\ipykernel_4500\\2239815117.py:273: FutureWarning:\n",
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "stdout",
|
|
||||||
"output_type": "stream",
|
|
||||||
"text": [
|
|
||||||
"日期\n",
|
|
||||||
"2024-12-12 3552.045898\n",
|
|
||||||
"Name: 日度预测价格, dtype: float32\n"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "stderr",
|
|
||||||
"output_type": "stream",
|
|
||||||
"text": [
|
|
||||||
"C:\\Users\\EDY\\AppData\\Local\\Temp\\ipykernel_19760\\2239815117.py:273: FutureWarning:\n",
|
|
||||||
"\n",
|
"\n",
|
||||||
"Series.__getitem__ treating keys as positions is deprecated. In a future version, integer keys will always be treated as labels (consistent with DataFrame behavior). To access a value by position, use `ser.iloc[pos]`\n",
|
"Series.__getitem__ treating keys as positions is deprecated. In a future version, integer keys will always be treated as labels (consistent with DataFrame behavior). To access a value by position, use `ser.iloc[pos]`\n",
|
||||||
"\n"
|
"\n"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "stdout",
|
|
||||||
"output_type": "stream",
|
|
||||||
"text": [
|
|
||||||
"{\"confirmFlg\":false,\"status\":true}\n",
|
|
||||||
"新增数据: ['2024-12-12', 7957.0, 7066.0, 0.1, 0.0, 3650.0, 0.9, 0.0, 0.0, 3540.0, 7.9, 0.2, 0.2, 3500.0, 0.6, '', 3500.0, 71.05, 73.53, '', 3510.0, 29.5977, '', '', '', '', 229522.1, 11025.3, 3426.4568, '', '', 42263.29278, 6647.44, 3970.0]\n",
|
|
||||||
"20241213\n"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "stderr",
|
|
||||||
"output_type": "stream",
|
|
||||||
"text": [
|
|
||||||
"C:\\Users\\EDY\\AppData\\Local\\Temp\\ipykernel_19760\\2239815117.py:299: UserWarning:\n",
|
|
||||||
"\n",
|
|
||||||
"The argument 'infer_datetime_format' is deprecated and will be removed in a future version. A strict version of it is now the default, see https://pandas.pydata.org/pdeps/0004-consistent-to-datetime-parsing.html. You can safely remove this argument.\n",
|
|
||||||
"\n"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "stdout",
|
|
||||||
"output_type": "stream",
|
|
||||||
"text": [
|
|
||||||
"Using matplotlib backend: QtAgg\n",
|
|
||||||
"%pylab is deprecated, use %matplotlib inline and import the required libraries.\n",
|
|
||||||
"Populating the interactive namespace from numpy and matplotlib\n",
|
|
||||||
"Fitting 3 folds for each of 180 candidates, totalling 540 fits\n",
|
|
||||||
"Best score: 0.997\n",
|
|
||||||
"Best parameters set:\n",
|
|
||||||
"\tlearning_rate: 0.1\n",
|
|
||||||
"\tmax_depth: 8\n",
|
|
||||||
"\tn_estimators: 100\n"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "stderr",
|
|
||||||
"output_type": "stream",
|
|
||||||
"text": [
|
|
||||||
"C:\\Users\\EDY\\AppData\\Local\\Temp\\ipykernel_19760\\2239815117.py:239: UserWarning:\n",
|
|
||||||
"\n",
|
|
||||||
"The argument 'infer_datetime_format' is deprecated and will be removed in a future version. A strict version of it is now the default, see https://pandas.pydata.org/pdeps/0004-consistent-to-datetime-parsing.html. You can safely remove this argument.\n",
|
|
||||||
"\n"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "stdout",
|
"name": "stdout",
|
||||||
"output_type": "stream",
|
"output_type": "stream",
|
||||||
"text": [
|
"text": [
|
||||||
"日期\n",
|
"日期\n",
|
||||||
"2024-12-13 3504.912354\n",
|
"2024-12-17 3501.835693\n",
|
||||||
"Name: 日度预测价格, dtype: float32\n"
|
"Name: 日度预测价格, dtype: float32\n",
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "stderr",
|
|
||||||
"output_type": "stream",
|
|
||||||
"text": [
|
|
||||||
"C:\\Users\\EDY\\AppData\\Local\\Temp\\ipykernel_19760\\2239815117.py:273: FutureWarning:\n",
|
|
||||||
"\n",
|
|
||||||
"Series.__getitem__ treating keys as positions is deprecated. In a future version, integer keys will always be treated as labels (consistent with DataFrame behavior). To access a value by position, use `ser.iloc[pos]`\n",
|
|
||||||
"\n"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "stdout",
|
|
||||||
"output_type": "stream",
|
|
||||||
"text": [
|
|
||||||
"{\"confirmFlg\":false,\"status\":true}\n",
|
"{\"confirmFlg\":false,\"status\":true}\n",
|
||||||
"新增数据: ['2024-12-13', 7957.0, 7066.0, 0.1, 0.0, 3650.0, 0.55, 0.0, 0.0, 3540.0, 7.9, 0.2, 0.2, 3600.0, 0.6, '', 3500.0, 71.05, 73.41, '', 3512.0, 29.5977, '', '', '', '', 229522.1, 8091.12, 3417.4442, '', '', 41436.2654696, 6913.5165, '']\n"
|
"新增数据: ['2024-12-17', 7957.0, 6984.0, 0.0, 0.25, 3650.0, 0.55, 0.0, 0.0, 3520.0, 7.9, 0.2, 0.2, 3500.0, 0.75, '', 3500.0, 74.35, 72.69, '', 3522.0, 28.8998, '', '', '', 13.58990112, 229522.1, 7722.02, 3511.1707, '', '', 40514.8218813, 7088.86, '']\n"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"source": [
|
"source": [
|
||||||
"from datetime import datetime, timedelta\n",
|
"from datetime import datetime, timedelta\n",
|
||||||
"\n",
|
"\n",
|
||||||
"start_date = datetime(2024, 12, 12)\n",
|
"start_date = datetime(2024, 12, 17)\n",
|
||||||
"end_date = datetime(2024, 12, 14)\n",
|
"end_date = datetime(2024, 12, 18)\n",
|
||||||
"\n",
|
"\n",
|
||||||
"while start_date < end_date:\n",
|
"while start_date < end_date:\n",
|
||||||
" print(start_date.strftime('%Y%m%d'))\n",
|
" print(start_date.strftime('%Y%m%d'))\n",
|
||||||
|
Binary file not shown.
49
auptest.py
49
auptest.py
@ -34,14 +34,15 @@ auth = HttpNtlmAuth(f'{graphql_username}', f'{graphql_password}')
|
|||||||
|
|
||||||
# 请求头设置
|
# 请求头设置
|
||||||
headers = {'content-type': 'application/json;charset=UTF-8'}
|
headers = {'content-type': 'application/json;charset=UTF-8'}
|
||||||
|
|
||||||
def insert_api_log(request_time, request_url, request_method, request_params, response_content, response_time):
|
def insert_api_log(request_time, request_url, request_method, request_params, response_content, response_time):
|
||||||
'''
|
'''
|
||||||
请求日志表 v_tbl_aup_api_log 写入
|
请求日志表 v_tbl_aup_api_log 写入
|
||||||
'''
|
'''
|
||||||
try:
|
try:
|
||||||
# 建立数据库连接
|
# 建立数据库连接
|
||||||
cnx = mysql.connector.connect(**config)
|
global cnx
|
||||||
|
if cnx is None:
|
||||||
|
cnx = mysql.connector.connect(**config)
|
||||||
cursor = cnx.cursor()
|
cursor = cnx.cursor()
|
||||||
# 先查询表中已有记录的数量,用于生成新记录的ID
|
# 先查询表中已有记录的数量,用于生成新记录的ID
|
||||||
# count_query = "SELECT max(ID) FROM v_tbl_aup_api_log"
|
# count_query = "SELECT max(ID) FROM v_tbl_aup_api_log"
|
||||||
@ -70,12 +71,14 @@ def insert_api_log(request_time, request_url, request_method, request_params, re
|
|||||||
print(f"Error: {err}")
|
print(f"Error: {err}")
|
||||||
finally:
|
finally:
|
||||||
# 关闭游标和连接
|
# 关闭游标和连接
|
||||||
if cursor:
|
try:
|
||||||
cursor.close()
|
if cursor:
|
||||||
if cnx:
|
cursor.close()
|
||||||
cnx.close()
|
except UnboundLocalError:
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
cnx = None
|
||||||
|
|
||||||
|
|
||||||
tags_metadata = [
|
tags_metadata = [
|
||||||
@ -369,8 +372,7 @@ async def generate_graphql_query(
|
|||||||
full_path = str(request.url.path)
|
full_path = str(request.url.path)
|
||||||
session = requests.Session()
|
session = requests.Session()
|
||||||
try:
|
try:
|
||||||
response = await session.post(url=url, headers=headers, json=payload_json, auth=auth, verify=False, timeout=300)
|
response = session.post(url=url, headers=headers, json=payload_json, auth=auth, verify=False, timeout=300)
|
||||||
print(type(response))
|
|
||||||
except requests.exceptions.ConnectTimeout as e:
|
except requests.exceptions.ConnectTimeout as e:
|
||||||
# 构造符合错误情况的响应数据字典
|
# 构造符合错误情况的响应数据字典
|
||||||
error_response_data = {
|
error_response_data = {
|
||||||
@ -408,12 +410,13 @@ async def generate_graphql_query(
|
|||||||
|
|
||||||
if response.status_code!= 200:
|
if response.status_code!= 200:
|
||||||
raise HTTPException(status_code=response.status_code, detail=response.text)
|
raise HTTPException(status_code=response.status_code, detail=response.text)
|
||||||
|
print(response.json())
|
||||||
return response.json()
|
return response.json()
|
||||||
except TypeError as e:
|
except TypeError as e:
|
||||||
return {"error": str(e)}
|
return {"error": str(e)}
|
||||||
|
|
||||||
@app.get("/get_cases",tags=['get_cases'])
|
@app.get("/get_cases",tags=['get_cases'])
|
||||||
async def post_cases_query_async(request: Request):
|
async def get_cases_query_async(request: Request):
|
||||||
payload_json2 = {
|
payload_json2 = {
|
||||||
"query": templates.case_qurey
|
"query": templates.case_qurey
|
||||||
}
|
}
|
||||||
@ -421,7 +424,12 @@ async def post_cases_query_async(request: Request):
|
|||||||
request_time = datetime.now()
|
request_time = datetime.now()
|
||||||
session = requests.Session()
|
session = requests.Session()
|
||||||
try:
|
try:
|
||||||
response = await session.post(url=url, headers=headers, json=payload_json2, auth=auth, verify=False)
|
response = session.post(url=url, headers=headers, json=payload_json2, auth=auth, verify=False)
|
||||||
|
# 将JSON字符串解析为Python字典对象
|
||||||
|
res = response.json()
|
||||||
|
# # 提取name列表
|
||||||
|
# name_list = [item["name"] for item in res["data"]["cases"]["items"]]
|
||||||
|
# res['name_list'] = name_list
|
||||||
except requests.exceptions.ConnectTimeout as e:
|
except requests.exceptions.ConnectTimeout as e:
|
||||||
# 构造符合错误情况的响应数据字典
|
# 构造符合错误情况的响应数据字典
|
||||||
error_response_data = {
|
error_response_data = {
|
||||||
@ -429,8 +437,8 @@ async def post_cases_query_async(request: Request):
|
|||||||
"data": {},
|
"data": {},
|
||||||
"status_code": 503 # 使用合适的状态码,如503表示服务暂时不可用,可根据具体错误类型调整
|
"status_code": 503 # 使用合适的状态码,如503表示服务暂时不可用,可根据具体错误类型调整
|
||||||
}
|
}
|
||||||
response = error_response_data
|
res = error_response_data
|
||||||
raise HTTPException(status_code=503, detail=response) # 抛出合适状态码的HTTPException
|
raise HTTPException(status_code=503, detail=res) # 抛出合适状态码的HTTPException
|
||||||
except requests.exceptions.RequestException as e:
|
except requests.exceptions.RequestException as e:
|
||||||
# 捕获其他请求相关的异常,统一处理
|
# 捕获其他请求相关的异常,统一处理
|
||||||
error_response_data = {
|
error_response_data = {
|
||||||
@ -439,14 +447,10 @@ async def post_cases_query_async(request: Request):
|
|||||||
"status_code": 500
|
"status_code": 500
|
||||||
}
|
}
|
||||||
|
|
||||||
response = error_response_data
|
res = error_response_data
|
||||||
raise HTTPException(status_code=500, detail=response)
|
raise HTTPException(status_code=500, detail=res)
|
||||||
finally:
|
finally:
|
||||||
response_time = datetime.now()
|
response_time = datetime.now()
|
||||||
try:
|
|
||||||
res = response.json()
|
|
||||||
except (UnboundLocalError,AttributeError):
|
|
||||||
res = response
|
|
||||||
# 调用插入日志的函数,将相关信息记录到数据库中(假设insert_api_log函数已正确定义且可访问)
|
# 调用插入日志的函数,将相关信息记录到数据库中(假设insert_api_log函数已正确定义且可访问)
|
||||||
insert_api_log(
|
insert_api_log(
|
||||||
request_time,
|
request_time,
|
||||||
@ -460,16 +464,11 @@ async def post_cases_query_async(request: Request):
|
|||||||
if response.status_code!= 200:
|
if response.status_code!= 200:
|
||||||
raise HTTPException(status_code=response.status_code, detail=response.text)
|
raise HTTPException(status_code=response.status_code, detail=response.text)
|
||||||
|
|
||||||
# 将JSON字符串解析为Python字典对象
|
return res
|
||||||
data_dict = response.json()
|
|
||||||
# 提取name列表
|
|
||||||
name_list = [item["name"] for item in data_dict["data"]["cases"]["items"]]
|
|
||||||
data_dict['name_lsit'] = name_list
|
|
||||||
return json.dumps(data_dict)
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
import uvicorn
|
import uvicorn
|
||||||
uvicorn.run(app, host="127.0.0.1", port=8003)
|
uvicorn.run(app, host="0.0.0.0", port=8003)
|
||||||
|
|
||||||
|
|
||||||
# query = """
|
# query = """
|
||||||
|
1351
原油价格预测准确率计算.ipynb
1351
原油价格预测准确率计算.ipynb
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue
Block a user