{ "cells": [ { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/html": [ " \n", " " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import requests\n", "import json\n", "import xlrd\n", "import xlwt\n", "from datetime import datetime\n", "import time\n", "# 变量定义\n", "login_url = \"http://10.200.32.39/jingbo-api/api/server/login\"\n", "search_url = \"http://10.200.32.39/jingbo-api/api/warehouse/dwDataItem/queryByItemNos\"\n", "\n", "login_push_url = \"http://10.200.32.39/jingbo-api/api/server/login\"\n", "upload_url = \"http://10.200.32.39/jingbo-api/api/dw/dataValue/pushDataValueList\"\n", "\n", "login_data = {\n", " \"data\": {\n", " \"account\": \"api_dev\",\n", " \"password\": \"ZTEwYWRjMzk0OWJhNTlhYmJlNTZlMDU3ZjIwZjg4M2U=\",\n", " \"tenantHashCode\": \"8a4577dbd919675758d57999a1e891fe\",\n", " \"terminal\": \"API\"\n", " },\n", " \"funcModule\": \"API\",\n", " \"funcOperation\": \"获取token\"\n", "}\n", "\n", "login_push_data = {\n", " \"data\": {\n", " \"account\": \"api_dev\",\n", " \"password\": \"ZTEwYWRjMzk0OWJhNTlhYmJlNTZlMDU3ZjIwZjg4M2U=\",\n", " \"tenantHashCode\": \"8a4577dbd919675758d57999a1e891fe\",\n", " \"terminal\": \"API\"\n", " },\n", " \"funcModule\": \"API\",\n", " \"funcOperation\": \"获取token\"\n", "}\n", "\n", "read_file_path_name = \"沥青数据项.xls\"\n", "one_cols = []\n", "two_cols = []\n", "\n", "import pandas as pd\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "import seaborn as sn\n", "import random\n", "import time\n", "\n", "\n", "\n", "\n", "from plotly import __version__\n", "from plotly.offline import download_plotlyjs, init_notebook_mode, plot, iplot\n", "\n", "from sklearn import preprocessing\n", "\n", "from pandas import Series,DataFrame\n", "\n", "import matplotlib.pyplot as plt\n", "\n", "import sklearn.datasets as datasets\n", "\n", "#导入机器学习算法模型\n", "from sklearn.linear_model import Lasso\n", "from xgboost import XGBRegressor\n", "\n", "import datetime\n", "import statsmodels.api as sm\n", "# from keras.preprocessing.sequence import TimeseriesGenerator\n", "from tensorflow.keras.preprocessing.sequence import TimeseriesGenerator\n", "\n", "import plotly.express as px\n", "import plotly.graph_objects as go\n", "\n", "import xgboost as xgb\n", "from xgboost import plot_importance, plot_tree\n", "from sklearn.metrics import mean_absolute_error\n", "from statsmodels.tools.eval_measures import mse,rmse\n", "from sklearn.model_selection import GridSearchCV\n", "from xgboost import XGBRegressor\n", "import warnings\n", "import pickle\n", "\n", "from sklearn.metrics import mean_squared_error\n", "\n", "#切割训练数据和样本数据\n", "from sklearn.model_selection import train_test_split\n", "\n", "#用于模型评分\n", "from sklearn.metrics import r2_score\n", "\n", "le = preprocessing.LabelEncoder()\n", "\n", "# print(__version__) # requires version >= 1.9.0\n", "\n", "\n", "import cufflinks as cf\n", "cf.go_offline()\n", "\n", "random.seed(100)\n", "\n", "%matplotlib inline\n", "\n", "# 数据获取\n", "\n", "def get_head_auth():\n", " login_res = requests.post(url=login_url, json=login_data, timeout=(3, 5))\n", " text = json.loads(login_res.text)\n", " if text[\"status\"]:\n", " token = text[\"data\"][\"accessToken\"]\n", " return token\n", " else:\n", " print(\"获取认证失败\")\n", " return None\n", "\n", "\n", "def get_data_value(token, dataItemNoList,date=''):\n", "\n", " search_data = {\n", " \"data\": {\n", " \"date\": get_cur_time(date)[0],\n", " \"dataItemNoList\": dataItemNoList\n", " },\n", " \"funcModule\": \"数据项\",\n", " \"funcOperation\": \"查询\"\n", " }\n", " headers = {\"Authorization\": token}\n", " search_res = requests.post(url=search_url, headers=headers, json=search_data, timeout=(3, 5))\n", " search_value = json.loads(search_res.text)[\"data\"]\n", " if search_value:\n", " return search_value\n", " else:\n", " print(\"今天没有新数据\")\n", " return None\n", "\n", "\n", "# xls文件处理\n", "\n", "\n", "\n", "\n", "\n", "def write_xls(data,date):\n", " # 创建一个Workbook对象\n", " workbook = xlwt.Workbook()\n", "\n", " # 创建一个Sheet对象,可指定名称\n", " sheet = workbook.load('Sheet1')\n", "\n", " # 写入数据行\n", " for row_index, row_data in enumerate(data):\n", " for col_index, cell_data in enumerate(row_data):\n", " sheet.write(row_index, col_index, cell_data)\n", "\n", " # 保存Workbook到文件\n", " workbook.save(get_cur_time(date)[0] + '.xls')\n", "\n", "\n", "def get_cur_time(date = ''):\n", " if date == '':\n", " import datetime\n", " now = datetime.datetime.now()\n", " else:\n", " now = date\n", " year = now.year\n", " month = now.month\n", " day = now.day\n", "\n", " if month < 10:\n", " month = \"0\" + str(month)\n", " if day < 10:\n", " day = \"0\" + str(day)\n", " cur_time = str(year) + str(month) + str(day)\n", " cur_time2 = str(year) + \"-\" + str(month) + \"-\" + str(day)\n", "# cur_time = '20231007'\n", "# cur_time2 = '2023-10-07'\n", " return cur_time, cur_time2\n", "\n", "\n", "def get_head_push_auth():\n", " login_res = requests.post(url=login_push_url, json=login_push_data, timeout=(3, 5))\n", " text = json.loads(login_res.text)\n", " if text[\"status\"]:\n", " token = text[\"data\"][\"accessToken\"]\n", " return token\n", " else:\n", " print(\"获取认证失败\")\n", " return None\n", "\n", "\n", "\n", "def upload_data_to_system(token_push,date):\n", " data = {\n", " \"funcModule\": \"数据表信息列表\",\n", " \"funcOperation\": \"新增\",\n", " \"data\": [\n", " {\"dataItemNo\": \"C01100036|Forecast_Price|ACN\",\n", " \"dataDate\": get_cur_time(date)[0],\n", " \"dataStatus\": \"add\",\n", " \"dataValue\": forecast_price()\n", " }\n", "\n", " ]\n", " }\n", " headers = {\"Authorization\": token_push}\n", " res = requests.post(url=upload_url, headers=headers, json=data, timeout=(3, 5))\n", " print(res.text)\n", "\n", " \n", "# def upload_data_to_system(token):\n", "# data = {\n", "# \"funcModule\": \"数据表信息列表\",\n", "# \"funcOperation\": \"新增\",\n", "# \"data\": [\n", "# {\"dataItemNo\": \"C01100036|Forecast_ Price|ACN\",\n", "# \"dataDate\": '20230706',\n", "# \"dataStatus\": \"add\",\n", "# \"dataValue\": 3780.0\n", "# }\n", "\n", "# ]\n", "# }\n", "# headers = {\"Authorization\": token}\n", "# res = requests.post(url=upload_url, headers=headers, json=data, timeout=(3, 5))\n", "# print(res.text)\n", "\n", "def forecast_price():\n", " df_test = pd.read_excel('沥青数据项.xls',sheet_name='数据项历史数据')\n", " df_test.drop([0],inplace=True)\n", " df_test[['汽油执行价','柴油执行价','齐鲁石化销量','齐鲁石化产量','齐鲁石化成交价','齐鲁石化库存','科力达销量',\n", " '科力达产量','科力达成交价','科力达库存','弘润销量','弘润产量','弘润成交价','弘润库存','市场成交价','京博指导价',\n", " '布伦特上周收盘价','布伦特昨日收盘价','布伦特收盘价','上期所沥青主力合约','隆重资讯沥青日开工率','隆重资讯沥青月库存',\n", " '隆重资讯沥青月产量','隆重资讯沥青表观消费量','隆重资讯社会库存率','厂区库容','京博提货量','即期成本','异地库库存',\n", " '京博签单量','京博库存量','京博产量','加权平均成交价']] = df_test[['汽油执行价','柴油执行价','齐鲁石化销量',\n", " '齐鲁石化产量','齐鲁石化成交价','齐鲁石化库存','科力达销量',\n", " '科力达产量','科力达成交价','科力达库存','弘润销量','弘润产量','弘润成交价','弘润库存','市场成交价','京博指导价',\n", " '布伦特上周收盘价','布伦特昨日收盘价','布伦特收盘价','上期所沥青主力合约','隆重资讯沥青日开工率','隆重资讯沥青月库存',\n", " '隆重资讯沥青月产量','隆重资讯沥青表观消费量','隆重资讯社会库存率','厂区库容','京博提货量','即期成本','异地库库存',\n", " '京博签单量','京博库存量','京博产量','加权平均成交价']].astype('float')\n", " # df_test['日期']=pd.to_datetime(df_test['日期'], format='%d/%m/%Y',infer_datetime_format=True)\n", " df_test['日期']=pd.to_datetime(df_test['日期'], format='%Y-%m-%d',infer_datetime_format=True)\n", "\n", " #查看每个特征缺失值数量\n", " MisVal_Check=df_test.isnull().sum().sort_values(ascending=False)\n", " #去掉缺失值百分比>0.4的特征,去掉这些特征后的新表格命名为df_test_1\n", " df_MisVal_Check = pd.DataFrame(MisVal_Check,)#\n", " df_MisVal_Check_1=df_MisVal_Check.reset_index()\n", " df_MisVal_Check_1.columns=['Variable_Name','Missing_Number'] \n", " df_MisVal_Check_1['Missing_Number']=df_MisVal_Check_1['Missing_Number']/len(df_test)\n", " df_test_1=df_test.drop(df_MisVal_Check_1[df_MisVal_Check_1['Missing_Number']>0.4].Variable_Name,axis = 1)\n", "\n", " #将缺失值补为前一个或者后一个数值\n", " df_test_1=df_test_1.fillna(df_test.ffill())\n", " df_test_1=df_test_1.fillna(df_test_1.bfill())\n", "\n", " # 选择用于模型训练的列名称\n", " col_for_training = df_test_1.columns\n", " import joblib\n", " Best_model_DalyLGPrice = joblib.load(\"日度价格预测_最佳模型.pkl\")\n", " # 最新的一天为最后一行的数据\n", " df_test_1_Day = df_test_1.tail(1)\n", " # 移除不需要的列\n", " df_test_1_Day.index = df_test_1_Day[\"日期\"]\n", " df_test_1_Day = df_test_1_Day.drop([\"日期\"], axis= 1)\n", " df_test_1_Day=df_test_1_Day.drop('京博指导价',axis=1)\n", " df_test_1_Day=df_test_1_Day.dropna()\n", "\n", " # df_test_1_Day\n", " #预测今日价格,显示至小数点后两位\n", " Ypredict_Today=Best_model_DalyLGPrice.predict(df_test_1_Day)\n", "\n", " df_test_1_Day['日度预测价格']=Ypredict_Today\n", " print(df_test_1_Day['日度预测价格'])\n", " a = df_test_1_Day['日度预测价格']\n", " a = a[0]\n", " a = float(a)\n", " a = round(a,2)\n", " return a\n", "def optimize_Model():\n", " from sklearn.model_selection import train_test_split\n", " from sklearn.impute import SimpleImputer\n", " from sklearn.preprocessing import OrdinalEncoder\n", " from sklearn.feature_selection import SelectFromModel\n", " from sklearn.metrics import mean_squared_error, r2_score\n", "\n", " pd.set_option('display.max_rows',40) \n", " pd.set_option('display.max_columns',40) \n", " df_test = pd.read_excel('沥青数据项.xls',sheet_name='数据项历史数据')\n", " df_test.drop([0],inplace=True)\n", " df_test[['汽油执行价','柴油执行价','齐鲁石化销量','齐鲁石化产量','齐鲁石化成交价','齐鲁石化库存','科力达销量',\n", " '科力达产量','科力达成交价','科力达库存','弘润销量','弘润产量','弘润成交价','弘润库存','市场成交价','京博指导价',\n", " '布伦特上周收盘价','布伦特昨日收盘价','布伦特收盘价','上期所沥青主力合约','隆重资讯沥青日开工率','隆重资讯沥青月库存',\n", " '隆重资讯沥青月产量','隆重资讯沥青表观消费量','隆重资讯社会库存率','厂区库容','京博提货量','即期成本','异地库库存',\n", " '京博签单量','京博库存量','京博产量','加权平均成交价']] = df_test[['汽油执行价','柴油执行价','齐鲁石化销量','齐鲁石化产量','齐鲁石化成交价','齐鲁石化库存','科力达销量',\n", " '科力达产量','科力达成交价','科力达库存','弘润销量','弘润产量','弘润成交价','弘润库存','市场成交价','京博指导价',\n", " '布伦特上周收盘价','布伦特昨日收盘价','布伦特收盘价','上期所沥青主力合约','隆重资讯沥青日开工率','隆重资讯沥青月库存',\n", " '隆重资讯沥青月产量','隆重资讯沥青表观消费量','隆重资讯社会库存率','厂区库容','京博提货量','即期成本','异地库库存',\n", " '京博签单量','京博库存量','京博产量','加权平均成交价']].astype('float')\n", " # df_test = pd.read_csv('定价模型数据收集20190901-20230615.csv',encoding = 'gbk',engine = 'python')\n", " # df_test['日期']=pd.to_datetime(df_test['日期'], format='%m/%d/%Y',infer_datetime_format=True)\n", " df_test['日期']=pd.to_datetime(df_test['日期'], format='%Y-%m-%d',infer_datetime_format=True)\n", " # df_test.tail(3)\n", " MisVal_Check=df_test.isnull().sum().sort_values(ascending=False)\n", " #去掉缺失值百分比>0.4的特征,去掉这些特征后的新表格命名为df_test_1\n", " df_MisVal_Check = pd.DataFrame(MisVal_Check,)#\n", " df_MisVal_Check_1=df_MisVal_Check.reset_index()\n", " df_MisVal_Check_1.columns=['Variable_Name','Missing_Number'] \n", " df_MisVal_Check_1['Missing_Number']=df_MisVal_Check_1['Missing_Number']/len(df_test)\n", " df_test_1=df_test.drop(df_MisVal_Check_1[df_MisVal_Check_1['Missing_Number']>0.4].Variable_Name,axis = 1)\n", " #将缺失值补为前一个或者后一个数值\n", " df_test_1=df_test_1.fillna(df_test.ffill())\n", " df_test_1=df_test_1.fillna(df_test_1.bfill())\n", " df_test_1[\"日期\"] = pd.to_datetime(df_test_1[\"日期\"])\n", " df_test_1.index = df_test_1[\"日期\"]\n", " df_test_1 = df_test_1.drop([\"日期\"], axis= 1)\n", " dataset1=df_test_1.drop('京博指导价',axis=1)#.astype(float)\n", "\n", " y=df_test_1['京博指导价']\n", "\n", " x=dataset1 \n", "\n", " train = x\n", " target = y\n", "\n", " #切割数据样本集合测试集\n", " X_train,x_test,y_train,y_true = train_test_split(train,target,test_size=0.2,random_state=0)\n", " \n", " \n", " from sklearn.linear_model import Lasso\n", " from xgboost import XGBRegressor\n", "\n", " from datetime import datetime\n", " import statsmodels.api as sm\n", " # from keras.preprocessing.sequence import TimeseriesGenerator\n", " from tensorflow.keras.preprocessing.sequence import TimeseriesGenerator\n", "\n", " import plotly.express as px\n", " import plotly.graph_objects as go\n", "\n", " import xgboost as xgb\n", " from xgboost import plot_importance, plot_tree\n", " from sklearn.metrics import mean_absolute_error\n", " from statsmodels.tools.eval_measures import mse,rmse\n", " from sklearn.model_selection import GridSearchCV\n", " from xgboost import XGBRegressor\n", " import warnings\n", " import pickle\n", "\n", " from sklearn.metrics import mean_squared_error\n", "\n", " #切割训练数据和样本数据\n", " from sklearn.model_selection import train_test_split\n", "\n", " #用于模型评分\n", " from sklearn.metrics import r2_score\n", "\n", " #模型缩写\n", " Lasso = Lasso(random_state=0)\n", " XGBR = XGBRegressor(random_state=0)\n", " Lasso.fit(X_train,y_train)\n", " XGBR.fit(X_train,y_train)\n", " y_pre_Lasso = Lasso.predict(x_test)\n", " y_pre_XGBR = XGBR.predict(x_test)\n", "\n", " #计算Lasso、XGBR、RandomForestR、AdaBoostR、GradientBoostingR、BaggingRegressor各模型的R²\n", " Lasso_score = r2_score(y_true,y_pre_Lasso)\n", " XGBR_score=r2_score(y_true,y_pre_XGBR)\n", "\n", " #计算Lasso、XGBR的MSE和RMSE\n", " Lasso_MSE=mean_squared_error(y_true, y_pre_Lasso)\n", " XGBR_MSE=mean_squared_error(y_true, y_pre_XGBR)\n", "\n", " Lasso_RMSE=np.sqrt(Lasso_MSE)\n", " XGBR_RMSE=np.sqrt(XGBR_MSE)\n", " model_results = pd.DataFrame([['Lasso', Lasso_RMSE, Lasso_score],\n", " ['XgBoost', XGBR_RMSE, XGBR_score]],\n", " columns = ['模型(Model)','均方根误差(RMSE)', 'R^2 score'])\n", " model_results1=model_results.set_index('模型(Model)')\n", "\n", " def plot_feature_importance(importance,names,model_type):\n", " feature_importance = np.array(importance)\n", " feature_names = np.array(names)\n", "\n", " data={'feature_names':feature_names,'feature_importance':feature_importance}\n", " fi_df = pd.DataFrame(data)\n", "\n", " fi_df.sort_values(by=['feature_importance'], ascending=False,inplace=True)\n", "\n", " plt.figure(figsize=(10,8))\n", " sn.barplot(x=fi_df['feature_importance'], y=fi_df['feature_names'])\n", "\n", " plt.title(model_type + \" \"+'FEATURE IMPORTANCE')\n", " plt.xlabel('FEATURE IMPORTANCE')\n", " plt.ylabel('FEATURE NAMES')\n", " from pylab import mpl\n", " %pylab\n", " mpl.rcParams['font.sans-serif'] = ['SimHei']\n", " from xgboost import XGBRegressor\n", " from sklearn.model_selection import GridSearchCV\n", "\n", " estimator = XGBRegressor(random_state=0,\n", " nthread=4,\n", " seed=0\n", " )\n", " parameters = {\n", " 'max_depth': range (2, 11, 2), # 树的最大深度\n", " 'n_estimators': range (50, 101, 10), # 迭代次数\n", " 'learning_rate': [0.01, 0.03, 0.1, 0.3, 0.5, 1]\n", " }\n", "\n", " grid_search_XGB = GridSearchCV(\n", " estimator=estimator,\n", " param_grid=parameters,\n", " # n_jobs = 10,\n", " cv = 3,\n", " verbose=True\n", " )\n", "\n", " grid_search_XGB.fit(X_train, y_train)\n", " print(\"Best score: %0.3f\" % grid_search_XGB.best_score_)\n", " print(\"Best parameters set:\")\n", " best_parameters = grid_search_XGB.best_estimator_.get_params()\n", " for param_name in sorted(parameters.keys()):\n", " print(\"\\t%s: %r\" % (param_name, best_parameters[param_name]))\n", " y_pred = grid_search_XGB.predict(x_test)\n", "\n", " op_XGBR_score = r2_score(y_true,y_pred)\n", " op_XGBR_MSE= mean_squared_error(y_true, y_pred)\n", " op_XGBR_RMSE= np.sqrt(op_XGBR_MSE)\n", "\n", " model_results2 = pd.DataFrame([['Optimized_Xgboost', op_XGBR_RMSE, op_XGBR_score]],\n", " columns = ['模型(Model)', '均方根误差(RMSE)', 'R^2 score'])\n", " model_results2=model_results2.set_index('模型(Model)')\n", "\n", " # results = model_results1.append(model_results2, ignore_index = False)\n", " results = pd.concat([model_results1,model_results2],ignore_index=True)\n", " results\n", " import pickle\n", "\n", " Pkl_Filename = \"日度价格预测_最佳模型.pkl\" \n", "\n", " with open(Pkl_Filename, 'wb') as file: \n", " pickle.dump(grid_search_XGB, file)\n", "\n", "\n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "def read_xls_data():\n", " global one_cols, two_cols\n", " # 打开 XLS 文件\n", " workbook = xlrd.open_workbook(read_file_path_name)\n", "\n", " # 获取所有表格名称\n", " # sheet_names = workbook.sheet_names()\n", "\n", " # 选择第一个表格\n", " sheet = workbook.sheet_by_index(0)\n", "\n", " # 获取行数和列数\n", " num_rows = sheet.nrows\n", " # num_cols = sheet.ncols\n", "\n", " # 遍历每一行,获取单元格数据\n", " # for i in range(num_rows):\n", " # row_data = sheet.row_values(i)\n", " # one_cols.append(row_data)\n", " # two_cols.append(row_data[1])\n", "\n", " row_data = sheet.row_values(1)\n", " one_cols = row_data\n", "\n", " # 关闭 XLS 文件\n", " # workbook.close()\n", "\n", "\n", "\n", "\n", "def start():\n", " '''预测上传数据'''\n", " read_xls_data()\n", "\n", " token = get_head_auth()\n", " if not token:\n", " return\n", " token_push = get_head_push_auth()\n", " if not token_push:\n", " return\n", "\n", " datas = get_data_value(token, one_cols[1:])\n", " if not datas:\n", " return\n", "\n", " # data_list = [two_cols, one_cols]\n", " append_rows = [get_cur_time()[1]]\n", " dataItemNo_dataValue = {}\n", " for data_value in datas:\n", " if \"dataValue\" not in data_value:\n", " print(data_value)\n", " dataItemNo_dataValue[data_value[\"dataItemNo\"]] = \"\"\n", " else:\n", " dataItemNo_dataValue[data_value[\"dataItemNo\"]] = data_value[\"dataValue\"]\n", " \n", " for value in one_cols[1:]:\n", " if value in dataItemNo_dataValue:\n", " append_rows.append(dataItemNo_dataValue[value])\n", " else:\n", " append_rows.append(\"\")\n", " save_xls(append_rows)\n", " optimize_Model()\n", " upload_data_to_system(token_push)\n", " # data_list.append(three_cols)\n", " # write_xls(data_list)\n", "\n", "\n", "def start_3(date,token,token_push):\n", " '''预测上传数据'''\n", " read_xls_data()\n", "\n", " # token = get_head_auth()\n", " # if not token:\n", " # return\n", " # token_push = get_head_push_auth()\n", " # if not token_push:\n", " # return\n", "\n", " datas = get_data_value(token, one_cols[1:],date)\n", " if not datas:\n", " return\n", "\n", " # data_list = [two_cols, one_cols]\n", " append_rows = [get_cur_time(date)[1]]\n", " dataItemNo_dataValue = {}\n", " for data_value in datas:\n", " if \"dataValue\" not in data_value:\n", " print(data_value)\n", " dataItemNo_dataValue[data_value[\"dataItemNo\"]] = \"\"\n", " else:\n", " dataItemNo_dataValue[data_value[\"dataItemNo\"]] = data_value[\"dataValue\"]\n", " \n", " for value in one_cols[1:]:\n", " if value in dataItemNo_dataValue:\n", " append_rows.append(dataItemNo_dataValue[value])\n", " else:\n", " append_rows.append(\"\")\n", " save_xls(append_rows)\n", " optimize_Model()\n", " upload_data_to_system(token_push,date)\n", " # data_list.append(three_cols)\n", " # write_xls(data_list)\n", "\n", "\n", "\n", "def start_1():\n", " '''更新数据'''\n", " read_xls_data()\n", "\n", " token = get_head_auth()\n", " if not token:\n", " return\n", " \n", "\n", " datas = get_data_value(token, one_cols[1:])\n", " if not datas:\n", " return\n", "\n", " # data_list = [two_cols, one_cols]\n", " append_rows = [get_cur_time()[1]]\n", " dataItemNo_dataValue = {}\n", " for data_value in datas:\n", " if \"dataValue\" not in data_value:\n", " print(data_value)\n", " dataItemNo_dataValue[data_value[\"dataItemNo\"]] = \"\"\n", " else:\n", " dataItemNo_dataValue[data_value[\"dataItemNo\"]] = data_value[\"dataValue\"]\n", " \n", " for value in one_cols[1:]:\n", " if value in dataItemNo_dataValue:\n", " append_rows.append(dataItemNo_dataValue[value])\n", " else:\n", " append_rows.append(\"\")\n", " save_xls_1(append_rows)\n", "\n", " \n", " # data_list.append(three_cols)\n", " # write_xls(data_list)\n", "\n", "\n", "def start_2(date,token):\n", " '''更新数据'''\n", " read_xls_data()\n", "\n", " # token = get_head_auth()\n", " # if not token:\n", " # return\n", " \n", "\n", " datas = get_data_value(token, one_cols[1:],date)\n", " if not datas:\n", " return\n", "\n", " # data_list = [two_cols, one_cols]\n", " append_rows = [get_cur_time(date=date)[1]]\n", " dataItemNo_dataValue = {}\n", " for data_value in datas:\n", " if \"dataValue\" not in data_value:\n", " print(data_value)\n", " dataItemNo_dataValue[data_value[\"dataItemNo\"]] = \"\"\n", " else:\n", " dataItemNo_dataValue[data_value[\"dataItemNo\"]] = data_value[\"dataValue\"]\n", " \n", " for value in one_cols[1:]:\n", " if value in dataItemNo_dataValue:\n", " append_rows.append(dataItemNo_dataValue[value])\n", " else:\n", " append_rows.append(\"\")\n", " print('新增数据:',append_rows)\n", " save_xls_1(append_rows)\n", "\n", " \n", " # data_list.append(three_cols)\n", " # write_xls(data_list)\n", " \n", "def save_xls_1(append_rows):\n", "\n", " # 打开xls文件\n", " workbook = xlrd.open_workbook('沥青数据项.xls')\n", "\n", " # 获取所有sheet的个数\n", " sheet_count = len(workbook.sheet_names())\n", "\n", " # 获取所有sheet的名称\n", " sheet_names = workbook.sheet_names()\n", "\n", " new_workbook = xlwt.Workbook()\n", " for i in range(sheet_count):\n", " # 获取当前sheet\n", " sheet = workbook.sheet_by_index(i)\n", "\n", " # 获取sheet的行数和列数\n", " row_count = sheet.nrows - 1\n", " col_count = sheet.ncols\n", " # 获取原有数据\n", " data = []\n", " for row in range(row_count):\n", " row_data = []\n", " for col in range(col_count):\n", " row_data.append(sheet.cell_value(row, col))\n", " data.append(row_data)\n", " # 创建xlwt的Workbook对象\n", " # 创建sheet\n", " new_sheet = new_workbook.add_sheet(sheet_names[i])\n", "\n", " # 将原有的数据写入新的sheet\n", " for row in range(row_count):\n", " for col in range(col_count):\n", " new_sheet.write(row, col, data[row][col])\n", "\n", " if i == 0:\n", " # 在新的sheet中添加数据\n", " for col in range(col_count):\n", " new_sheet.write(row_count, col, append_rows[col])\n", "\n", " # 保存新的xls文件\n", " new_workbook.save(\"沥青数据项.xls\") \n", "\n", " \n", " \n", " \n", "def check_data(dataItemNo):\n", " token = get_head_auth()\n", " if not token:\n", " return\n", "\n", " datas = get_data_value(token, dataItemNo)\n", " if not datas:\n", " return\n", "\n", "\n", "def save_xls(append_rows):\n", "\n", " # 打开xls文件\n", " workbook = xlrd.open_workbook('沥青数据项.xls')\n", "\n", " # 获取所有sheet的个数\n", " sheet_count = len(workbook.sheet_names())\n", "\n", " # 获取所有sheet的名称\n", " sheet_names = workbook.sheet_names()\n", "\n", " new_workbook = xlwt.Workbook()\n", " for i in range(sheet_count):\n", " # 获取当前sheet\n", " sheet = workbook.sheet_by_index(i)\n", "\n", " # 获取sheet的行数和列数\n", " row_count = sheet.nrows\n", " col_count = sheet.ncols\n", " # 获取原有数据\n", " data = []\n", " for row in range(row_count):\n", " row_data = []\n", " for col in range(col_count):\n", " row_data.append(sheet.cell_value(row, col))\n", " data.append(row_data)\n", " # 创建xlwt的Workbook对象\n", " # 创建sheet\n", " new_sheet = new_workbook.add_sheet(sheet_names[i])\n", "\n", " # 将原有的数据写入新的sheet\n", " for row in range(row_count):\n", " for col in range(col_count):\n", " new_sheet.write(row, col, data[row][col])\n", "\n", " if i == 0:\n", " # 在新的sheet中添加数据\n", " for col in range(col_count):\n", " new_sheet.write(row_count, col, append_rows[col])\n", "\n", " # 保存新的xls文件\n", " new_workbook.save(\"沥青数据项.xls\")\n", "\n", "\n", "if __name__ == \"__main__\":\n", " pass\n", " # 需要单独运行放开\n", "# start()\n", "\n", " # 每天定时12点运行\n", " # while True:\n", " # # 获取当前时间\n", " # current_time = time.strftime(\"%H:%M:%S\", time.localtime())\n", " # current_time_1 = time.strftime(\"%H:%M:%S\", time.localtime())\n", "\n", " # # 判断当前时间是否为执行任务的时间点\n", " # if current_time == \"12:00:00\":\n", " # print(\"执行定时任务\")\n", " # start()\n", "\n", " # # 休眠1秒钟,避免过多占用CPU资源\n", " # time.sleep(1)\n", " \n", " # elif current_time_1 == \"20:00:00\":\n", " # print(\"更新数据\")\n", " # start_1()\n", " # time.sleep(1)\n", "\n", "\n", "# # 检测数据准确性, 需要检测放开\n", "# # check_data(\"100028098|LISTING_PRICE\")\n", "# # check_data(\"9137070016544622XB|DAY_Yield\")\n" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "20250201\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "C:\\Users\\EDY\\AppData\\Local\\Temp\\ipykernel_7996\\2158043523.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: \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" ] }, { "name": "stderr", "output_type": "stream", "text": [ "d:\\ProgramData\\anaconda3\\Lib\\site-packages\\IPython\\core\\magics\\pylab.py:162: UserWarning:\n", "\n", "pylab import has clobbered these variables: ['datetime', 'random', '__version__', 'plot']\n", "`%matplotlib` prevents importing * from pylab and numpy\n", "\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Best score: 0.997\n", "Best parameters set:\n", "\tlearning_rate: 0.1\n", "\tmax_depth: 8\n", "\tn_estimators: 100\n", "日期\n", "2025-02-01 3649.48877\n", "Name: 日度预测价格, dtype: float32\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "C:\\Users\\EDY\\AppData\\Local\\Temp\\ipykernel_7996\\2158043523.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", "C:\\Users\\EDY\\AppData\\Local\\Temp\\ipykernel_7996\\2158043523.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", "新增数据: ['2025-02-01', 8857.0, 6904.0, '', '', '', '', '', '', '', '', '', '', '', '', '', 3650.0, 74.88, 76.48, '', '', 25.5319, '', '', '', '', 229522.1, '', 3619.0713, '', '', 141390.8400342, 5245.69, '']\n", "20250202\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "C:\\Users\\EDY\\AppData\\Local\\Temp\\ipykernel_7996\\2158043523.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", "日期\n", "2025-02-02 3649.591064\n", "Name: 日度预测价格, dtype: float32\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "C:\\Users\\EDY\\AppData\\Local\\Temp\\ipykernel_7996\\2158043523.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", "C:\\Users\\EDY\\AppData\\Local\\Temp\\ipykernel_7996\\2158043523.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", "新增数据: ['2025-02-02', 8857.0, 6883.0, '', '', '', '', '', '', '', '', '', '', '', '', '', 3650.0, 76.48, '', '', '', 25.5319, '', '', '', '', 229522.1, '', 3624.724, '', '', 146444.993536, 4650.255, '']\n", "20250203\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "C:\\Users\\EDY\\AppData\\Local\\Temp\\ipykernel_7996\\2158043523.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", "日期\n", "2025-02-03 3648.494873\n", "Name: 日度预测价格, dtype: float32\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "C:\\Users\\EDY\\AppData\\Local\\Temp\\ipykernel_7996\\2158043523.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", "C:\\Users\\EDY\\AppData\\Local\\Temp\\ipykernel_7996\\2158043523.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", "新增数据: ['2025-02-03', 8857.0, 6883.0, '', '', '', '', '', '', '', '', '', '', '', '', '', 3650.0, 76.48, '', '', '', 25.5319, '', '', '', '', 229522.1, '', 3698.7029, '', '', 151802.9709409, 4656.745, '']\n", "20250204\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "C:\\Users\\EDY\\AppData\\Local\\Temp\\ipykernel_7996\\2158043523.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: 6\n", "\tn_estimators: 100\n", "日期\n", "2025-02-04 3645.0979\n", "Name: 日度预测价格, dtype: float32\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "C:\\Users\\EDY\\AppData\\Local\\Temp\\ipykernel_7996\\2158043523.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", "C:\\Users\\EDY\\AppData\\Local\\Temp\\ipykernel_7996\\2158043523.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", "新增数据: ['2025-02-04', 8905.0, 6948.0, 0.0, 0.0, 3600.0, 0.0, 0.0, 0.0, 3600.0, 7.9, 0.0, 0.2, 3610.0, 4.0, '', 3650.0, 76.48, 75.4, '', '', 26.4775, '', '', '', 17.21173912, 229522.1, 32.7, 3671.4625, '', '', 156872.340789, 4608.25, '']\n", "20250205\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "C:\\Users\\EDY\\AppData\\Local\\Temp\\ipykernel_7996\\2158043523.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_7996\\2158043523.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", "C:\\Users\\EDY\\AppData\\Local\\Temp\\ipykernel_7996\\2158043523.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": [ "日期\n", "2025-02-05 3688.996338\n", "Name: 日度预测价格, dtype: float32\n", "{\"confirmFlg\":false,\"status\":true}\n", "新增数据: ['2025-02-05', 8956.0, 7022.0, 0.0, 0.25, 3600.0, 0.5, 0.0, 0.0, 3600.0, 7.9, 0.0, 0.2, 3610.0, 4.0, '', 3700.0, 76.48, 76.06, '', 3797.0, 27.4232, '', '', '', '', 229522.1, 857.76, 3622.508, '', '', 160664.5999171, 4644.21, '']\n", "20250206\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "C:\\Users\\EDY\\AppData\\Local\\Temp\\ipykernel_7996\\2158043523.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", "日期\n", "2025-02-06 3733.748779\n", "Name: 日度预测价格, dtype: float32\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "C:\\Users\\EDY\\AppData\\Local\\Temp\\ipykernel_7996\\2158043523.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", "C:\\Users\\EDY\\AppData\\Local\\Temp\\ipykernel_7996\\2158043523.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", "新增数据: ['2025-02-06', 8956.0, 7066.0, 0.0, 0.25, 3600.0, 0.75, 0.0, 0.0, 3600.0, 7.9, 0.0, 0.2, 3610.0, 4.2, '', 3750.0, 76.48, 74.68, '', 3779.0, 27.7541, '', '', '', '', 229522.1, 1217.12, 3513.5033, '', '', 164388.6227375, 4692.07, '']\n", "20250207\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "C:\\Users\\EDY\\AppData\\Local\\Temp\\ipykernel_7996\\2158043523.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", "日期\n", "2025-02-07 3745.448975\n", "Name: 日度预测价格, dtype: float32\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "C:\\Users\\EDY\\AppData\\Local\\Temp\\ipykernel_7996\\2158043523.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", "C:\\Users\\EDY\\AppData\\Local\\Temp\\ipykernel_7996\\2158043523.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", "新增数据: ['2025-02-07', 8921.0, 7031.0, 0.1, 0.25, 3650.0, 0.8, 0.0, 0.0, 3600.0, 7.9, 0.0, 0.2, 3610.0, 4.4, '', 3750.0, 76.48, 74.23, '', 3812.0, 27.7541, '', '', '', '', 229522.1, 942.0, 3631.0462, '', '', 168393.8166163, 4672.16, '']\n", "20250208\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "C:\\Users\\EDY\\AppData\\Local\\Temp\\ipykernel_7996\\2158043523.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: 10\n", "\tn_estimators: 100\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "C:\\Users\\EDY\\AppData\\Local\\Temp\\ipykernel_7996\\2158043523.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", "C:\\Users\\EDY\\AppData\\Local\\Temp\\ipykernel_7996\\2158043523.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": [ "日期\n", "2025-02-08 3749.983154\n", "Name: 日度预测价格, dtype: float32\n", "{\"confirmFlg\":false,\"status\":true}\n", "新增数据: ['2025-02-08', 8866.0, 7004.0, 0.15, 0.25, 3650.0, 0.8, 0.0, 0.0, 3650.0, 7.9, 0.0, 0.2, 3900.0, 4.6, '', 3750.0, 76.48, 74.64, '', '', 27.7541, '', '', '', '', 229522.1, 1089.08, 3664.8865, '', 1000.0, 172610.1660848, 4653.84, 4300.0]\n", "20250209\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "C:\\Users\\EDY\\AppData\\Local\\Temp\\ipykernel_7996\\2158043523.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_7996\\2158043523.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", "C:\\Users\\EDY\\AppData\\Local\\Temp\\ipykernel_7996\\2158043523.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": [ "日期\n", "2025-02-09 3748.356934\n", "Name: 日度预测价格, dtype: float32\n", "{\"confirmFlg\":false,\"status\":true}\n", "新增数据: ['2025-02-09', 8875.0, 7013.0, '', '', '', '', '', '', '', '', '', '', '', '', '', 3750.0, 74.64, '', '', '', 27.7541, '', '', '', '', 229522.1, 1952.98, 3680.6229, '', '', 175400.4021806, 4608.75, '']\n", "20250210\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "C:\\Users\\EDY\\AppData\\Local\\Temp\\ipykernel_7996\\2158043523.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_7996\\2158043523.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", "C:\\Users\\EDY\\AppData\\Local\\Temp\\ipykernel_7996\\2158043523.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": [ "日期\n", "2025-02-10 3749.152832\n", "Name: 日度预测价格, dtype: float32\n", "{\"confirmFlg\":false,\"status\":true}\n", "新增数据: ['2025-02-10', 8875.0, 7013.0, 0.15, 0.25, 3650.0, 0.9, 0.0, 0.0, 3650.0, 7.9, 0.0, 0.2, 3900.0, 4.8, '', 3750.0, 74.64, '', '', 3778.0, 28.608, '', '', '', '', 229522.1, 2114.7, 3719.1501, '', 2000.0, 177876.7630674, 4607.05, 4350.0]\n", "20250211\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "C:\\Users\\EDY\\AppData\\Local\\Temp\\ipykernel_7996\\2158043523.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_7996\\2158043523.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", "C:\\Users\\EDY\\AppData\\Local\\Temp\\ipykernel_7996\\2158043523.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": [ "日期\n", "2025-02-11 3781.463379\n", "Name: 日度预测价格, dtype: float32\n", "{\"confirmFlg\":false,\"status\":true}\n", "新增数据: ['2025-02-11', 8875.0, 7031.0, 0.15, 0.25, 3650.0, 1.0, 0.0, 0.0, 3650.0, 7.9, 0.0, 0.2, 3900.0, 4.8, '', 3800.0, 74.64, 76.01, '', 3776.0, 26.9001, '', '', '', 18.76416033, 229522.1, 1951.18, 3806.0186, '', '', 180448.1199647, 4613.8, '']\n", "20250212\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "C:\\Users\\EDY\\AppData\\Local\\Temp\\ipykernel_7996\\2158043523.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_7996\\2158043523.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", "C:\\Users\\EDY\\AppData\\Local\\Temp\\ipykernel_7996\\2158043523.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": [ "日期\n", "2025-02-12 3796.577637\n", "Name: 日度预测价格, dtype: float32\n", "{\"confirmFlg\":false,\"status\":true}\n", "新增数据: ['2025-02-12', 8875.0, 7048.0, 0.15, 0.25, 3650.0, 1.1, 0.0, 0.0, 3650.0, 7.9, 0.0, 0.2, 3900.0, 5.0, '', 3800.0, 74.64, 76.81, '', 3815.0, 26.4731, '', '', '', '', 229522.1, 2152.16, 3870.8876, '', '', 182396.406576, 4647.48, '']\n", "20250213\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "C:\\Users\\EDY\\AppData\\Local\\Temp\\ipykernel_7996\\2158043523.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: 6\n", "\tn_estimators: 100\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "C:\\Users\\EDY\\AppData\\Local\\Temp\\ipykernel_7996\\2158043523.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", "C:\\Users\\EDY\\AppData\\Local\\Temp\\ipykernel_7996\\2158043523.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": [ "日期\n", "2025-02-13 3750.037598\n", "Name: 日度预测价格, dtype: float32\n", "{\"confirmFlg\":false,\"status\":true}\n", "新增数据: ['2025-02-13', 8793.0, 7048.0, 0.25, 0.25, 3650.0, 1.1, 0.0, 0.0, 3650.0, 7.9, 0.0, 0.2, 3900.0, 5.0, '', 3750.0, 74.64, 75.05, '', 3774.0, 26.4731, '', '', '', '', 229522.1, 3355.24, 3669.5691, '', '', 183890.1934195, 4734.48, '']\n", "20250214\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "C:\\Users\\EDY\\AppData\\Local\\Temp\\ipykernel_7996\\2158043523.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: 6\n", "\tn_estimators: 100\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "C:\\Users\\EDY\\AppData\\Local\\Temp\\ipykernel_7996\\2158043523.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", "C:\\Users\\EDY\\AppData\\Local\\Temp\\ipykernel_7996\\2158043523.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": [ "日期\n", "2025-02-14 3728.556396\n", "Name: 日度预测价格, dtype: float32\n", "{\"confirmFlg\":false,\"status\":true}\n", "新增数据: ['2025-02-14', 8722.0, 7013.0, 0.25, 0.0, 3700.0, 1.0, 0.0, 0.0, 3650.0, 7.9, 0.0, 0.2, 3900.0, 5.02, '', 3750.0, 74.64, 74.95, '', 3845.0, 25.4056, '', '', '', '', 229522.1, 3253.8, 3727.5257, '', 69100.0, 185548.7828382, 4739.77, 3762.16]\n", "20250215\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "C:\\Users\\EDY\\AppData\\Local\\Temp\\ipykernel_7996\\2158043523.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_7996\\2158043523.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", "C:\\Users\\EDY\\AppData\\Local\\Temp\\ipykernel_7996\\2158043523.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": [ "日期\n", "2025-02-15 3746.874268\n", "Name: 日度预测价格, dtype: float32\n", "{\"confirmFlg\":false,\"status\":true}\n", "新增数据: ['2025-02-15', 8722.0, 7013.0, '', '', '', '', '', '', '', '', '', '', '', '', '', 3750.0, 74.64, 74.54, '', '', 25.6191, '', '', '', '', 229522.1, 2481.98, 3653.1038, '', '', 187515.8161794, 4804.46, '']\n", "20250216\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "C:\\Users\\EDY\\AppData\\Local\\Temp\\ipykernel_7996\\2158043523.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_7996\\2158043523.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", "C:\\Users\\EDY\\AppData\\Local\\Temp\\ipykernel_7996\\2158043523.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": [ "日期\n", "2025-02-16 3747.566162\n", "Name: 日度预测价格, dtype: float32\n", "{\"confirmFlg\":false,\"status\":true}\n", "新增数据: ['2025-02-16', 8674.0, 7013.0, '', '', '', '', '', '', '', '', '', '', '', '', '', 3750.0, 74.54, '', '', '', 29.035, '', '', '', '', 229522.1, 2292.94, 3690.2938, '', '', 189432.9075113, 4675.12, '']\n", "20250217\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "C:\\Users\\EDY\\AppData\\Local\\Temp\\ipykernel_7996\\2158043523.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_7996\\2158043523.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", "C:\\Users\\EDY\\AppData\\Local\\Temp\\ipykernel_7996\\2158043523.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": [ "日期\n", "2025-02-17 3732.293945\n", "Name: 日度预测价格, dtype: float32\n", "{\"confirmFlg\":false,\"status\":true}\n", "新增数据: ['2025-02-17', 8674.0, 7040.0, 0.25, 0.0, 3700.0, 0.25, 0.0, 0.0, 3650.0, 7.9, 0.0, 0.2, 3900.0, 5.02, '', 3800.0, 74.54, '', '', 3848.0, 29.035, '', '', '', '', 229522.1, 4599.04, 3666.4264, '', '', 189083.3783045, 4586.52, '']\n", "20250218\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "C:\\Users\\EDY\\AppData\\Local\\Temp\\ipykernel_7996\\2158043523.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_7996\\2158043523.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", "C:\\Users\\EDY\\AppData\\Local\\Temp\\ipykernel_7996\\2158043523.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": [ "日期\n", "2025-02-18 3795.842529\n", "Name: 日度预测价格, dtype: float32\n", "{\"confirmFlg\":false,\"status\":true}\n", "新增数据: ['2025-02-18', 8674.0, 7040.0, 0.25, 0.0, 3750.0, 0.0, 0.0, 0.0, 3720.0, 7.9, 0.0, 0.2, 3900.0, 5.02, '', 3800.0, 74.54, 75.27, '', 3841.0, 30.743, '', '', '', 20.61467278, 229522.1, 5928.64, 3710.5143, '', '', 188001.5349243, 4604.98, '']\n", "20250219\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "C:\\Users\\EDY\\AppData\\Local\\Temp\\ipykernel_7996\\2158043523.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_7996\\2158043523.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", "C:\\Users\\EDY\\AppData\\Local\\Temp\\ipykernel_7996\\2158043523.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": [ "日期\n", "2025-02-19 3822.068604\n", "Name: 日度预测价格, dtype: float32\n", "{\"confirmFlg\":false,\"status\":true}\n", "新增数据: ['2025-02-19', 8674.0, 7075.0, 0.0, 0.0, 3750.0, 0.0, 0.0, 0.0, 3740.0, 7.9, 0.0, 0.2, 3900.0, 5.22, '', 3830.0, 74.54, 75.78, '', 3851.0, 30.316, '', '', '', '', 229522.1, 8551.98, 3786.9784, '', '', 184432.5439619, 4519.94, 3930.0]\n", "20250220\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "C:\\Users\\EDY\\AppData\\Local\\Temp\\ipykernel_7996\\2158043523.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_7996\\2158043523.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", "C:\\Users\\EDY\\AppData\\Local\\Temp\\ipykernel_7996\\2158043523.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": [ "日期\n", "2025-02-20 3842.454102\n", "Name: 日度预测价格, dtype: float32\n", "{\"confirmFlg\":false,\"status\":true}\n", "新增数据: ['2025-02-20', 8674.0, 7093.0, 0.0, 0.0, 3750.0, 0.0, 0.0, 0.0, 3740.0, 7.9, 0.0, 0.2, 3900.0, 5.42, '', 3850.0, 74.54, 73.91, '', 3896.0, 31.1699, '', '', '', '', 229522.1, 4115.4, 3766.1403, '', '', 185342.1838277, 4539.08, 3830.0]\n", "20250221\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "C:\\Users\\EDY\\AppData\\Local\\Temp\\ipykernel_7996\\2158043523.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", "日期\n", "2025-02-21 3846.23999\n", "Name: 日度预测价格, dtype: float32\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "C:\\Users\\EDY\\AppData\\Local\\Temp\\ipykernel_7996\\2158043523.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", "C:\\Users\\EDY\\AppData\\Local\\Temp\\ipykernel_7996\\2158043523.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", "新增数据: ['2025-02-21', 8674.0, 7093.0, 0.0, 0.0, 3750.0, 0.0, 0.0, 0.0, 3740.0, 7.9, 0.0, 0.2, 3900.0, 5.42, '', 3850.0, 74.54, 76.2, '', 3858.0, 31.5969, '', '', '', '', 229522.1, 4402.52, 3747.6395, '', '', 184989.3385082, 4538.6, 3950.0]\n", "20250222\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "C:\\Users\\EDY\\AppData\\Local\\Temp\\ipykernel_7996\\2158043523.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: 6\n", "\tn_estimators: 100\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "C:\\Users\\EDY\\AppData\\Local\\Temp\\ipykernel_7996\\2158043523.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", "C:\\Users\\EDY\\AppData\\Local\\Temp\\ipykernel_7996\\2158043523.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": [ "日期\n", "2025-02-22 3809.211426\n", "Name: 日度预测价格, dtype: float32\n", "{\"confirmFlg\":false,\"status\":true}\n", "新增数据: ['2025-02-22', 8593.0, 7093.0, '', '', '', '', '', '', '', '', '', '', '', '', '', 3850.0, 74.54, 73.88, '', '', 32.0239, '', '', '', '', 229522.1, 6220.82, 3564.5329, '', '', 183545.0232586, 4520.43, 4450.0]\n", "20250223\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "C:\\Users\\EDY\\AppData\\Local\\Temp\\ipykernel_7996\\2158043523.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_7996\\2158043523.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", "C:\\Users\\EDY\\AppData\\Local\\Temp\\ipykernel_7996\\2158043523.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": [ "日期\n", "2025-02-23 3821.075195\n", "Name: 日度预测价格, dtype: float32\n", "{\"confirmFlg\":false,\"status\":true}\n", "新增数据: ['2025-02-23', 8513.0, 7057.0, '', '', '', '', '', '', '', '', '', '', '', '', '', 3850.0, 73.88, '', '', '', 32.0239, '', '', '', '', 229522.1, 3392.88, 3585.6018, '', '', 185118.7322799, 4533.5, '']\n", "20250224\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "C:\\Users\\EDY\\AppData\\Local\\Temp\\ipykernel_7996\\2158043523.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_7996\\2158043523.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", "C:\\Users\\EDY\\AppData\\Local\\Temp\\ipykernel_7996\\2158043523.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": [ "日期\n", "2025-02-24 3822.739014\n", "Name: 日度预测价格, dtype: float32\n", "{\"confirmFlg\":false,\"status\":true}\n", "新增数据: ['2025-02-24', 8513.0, 7057.0, 0.0, 0.0, 3750.0, 0.0, 0.0, 0.0, 3740.0, 7.9, 0.0, 0.2, 3900.0, 6.02, '', 3800.0, 73.88, 74.25, '', 3776.0, 28.608, '', '', '', '', 229522.1, 4361.18, 3668.5404, '', '', 185891.7861848, 4555.8, '']\n", "20250225\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "C:\\Users\\EDY\\AppData\\Local\\Temp\\ipykernel_7996\\2158043523.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.3\n", "\tmax_depth: 6\n", "\tn_estimators: 90\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "C:\\Users\\EDY\\AppData\\Local\\Temp\\ipykernel_7996\\2158043523.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", "C:\\Users\\EDY\\AppData\\Local\\Temp\\ipykernel_7996\\2158043523.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": [ "日期\n", "2025-02-25 3801.672852\n", "Name: 日度预测价格, dtype: float32\n", "{\"confirmFlg\":false,\"status\":true}\n", "新增数据: ['2025-02-25', 8513.0, 7075.0, 0.0, 0.0, 3800.0, 0.0, 0.0, 0.0, 3740.0, 7.9, 0.0, 0.2, 3900.0, 6.22, '', 3800.0, 73.88, 74.21, '', 3765.0, 28.608, '', '', '', 22.28599337, 229522.1, 8277.63, 3791.3805, '', '', 185694.2309829, 4606.21, 3800.0]\n", "20250226\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "C:\\Users\\EDY\\AppData\\Local\\Temp\\ipykernel_7996\\2158043523.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: 6\n", "\tn_estimators: 100\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "C:\\Users\\EDY\\AppData\\Local\\Temp\\ipykernel_7996\\2158043523.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", "C:\\Users\\EDY\\AppData\\Local\\Temp\\ipykernel_7996\\2158043523.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": [ "日期\n", "2025-02-26 3803.440674\n", "Name: 日度预测价格, dtype: float32\n", "{\"confirmFlg\":false,\"status\":true}\n", "新增数据: ['2025-02-26', 8513.0, 7075.0, 0.0, 0.0, 3800.0, 0.0, 0.0, 0.0, 3740.0, 7.9, 0.0, 0.2, 3850.0, 6.42, '', 3800.0, 73.88, 72.29, '', 3709.0, 27.3271, '', '', '', '', 229522.1, 11357.48, 3553.9243, '', '', 181663.5231306, 4669.52, '']\n", "20250227\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "C:\\Users\\EDY\\AppData\\Local\\Temp\\ipykernel_7996\\2158043523.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: 6\n", "\tn_estimators: 100\n", "日期\n", "2025-02-27 3795.412354\n", "Name: 日度预测价格, dtype: float32\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "C:\\Users\\EDY\\AppData\\Local\\Temp\\ipykernel_7996\\2158043523.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", "C:\\Users\\EDY\\AppData\\Local\\Temp\\ipykernel_7996\\2158043523.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", "新增数据: ['2025-02-27', 8441.0, 7075.0, 0.0, 0.0, 3800.0, 0.0, 0.0, 0.0, 3740.0, 7.9, 0.0, 0.2, 3850.0, 6.62, '', 3800.0, 73.88, 72.31, '', 3667.0, 27.7541, '', '', '', '', 229522.1, 12640.91, 3576.4854, '', 43000.0, 176741.4527006, 4624.73, 3790.04]\n", "20250228\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "C:\\Users\\EDY\\AppData\\Local\\Temp\\ipykernel_7996\\2158043523.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: 6\n", "\tn_estimators: 100\n", "日期\n", "2025-02-28 3801.021729\n", "Name: 日度预测价格, dtype: float32\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "C:\\Users\\EDY\\AppData\\Local\\Temp\\ipykernel_7996\\2158043523.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", "C:\\Users\\EDY\\AppData\\Local\\Temp\\ipykernel_7996\\2158043523.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", "新增数据: ['2025-02-28', 8441.0, 7113.0, 0.0, 0.0, 3800.0, 0.0, 0.0, 0.0, 3740.0, 7.9, 0.0, 0.2, 3850.0, 6.82, '', 3800.0, 73.88, 73.35, '', 3689.0, 27.7541, 81.6, '', '', '', 229522.1, 6400.74, 3645.4569, '', '', '', 3959.0, '']\n" ] } ], "source": [ "from datetime import datetime, timedelta\n", "\n", "start_date = datetime(2025, 2, 1)\n", "end_date = datetime(2025, 3, 1)\n", "token = get_head_auth()\n", "\n", "token_push = get_head_push_auth()\n", "\n", "while start_date < end_date:\n", " print(start_date.strftime('%Y%m%d'))\n", " start_3(start_date,token,token_push)\n", " time.sleep(1)\n", " start_2(start_date,token)\n", " start_date += timedelta(days=1)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "base", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.11.7" } }, "nbformat": 4, "nbformat_minor": 4 }