LogViewer
=========================================================================
2025-08-27 16:25:46 Wed	START TASK.01	future_1d  future_receipt
=========================================================================
2025-08-27 16:25:48,890 - future_1d - INFO - future_receipt check=True check_last=15 start...
2025-08-27 16:25:55,027 - future_1d - INFO - pro.fut_wsr(trade_date=2025-08-07) done
2025-08-27 16:25:58,671 - future_1d - INFO - save future_receipt 2025-08-07 add
2025-08-27 16:25:58,681 - future_1d - INFO -                                       0  ...                           4
date                         2025-08-07  ...                  2025-08-07
variety                              AP  ...                          AP
fut_name                             苹果  ...                          苹果
warehouse                          富县子午  ...                        洛川延刚
receipt_pre                         NaN  ...                         NaN
receipt                             0.0  ...                         NaN
receipt_chg                           0  ...                           0
unit                                  张  ...                           张
comd                                 AP  ...                          AP
created_at   2025-08-27 16:25:58.358199  ...  2025-08-27 16:25:58.358199
updated_at   2025-08-27 16:25:58.358663  ...  2025-08-27 16:25:58.358663

[11 rows x 5 columns]
2025-08-27 16:26:24,165 - future_1d - INFO - pro.fut_wsr(trade_date=2025-08-08) done
2025-08-27 16:26:25,035 - future_1d - INFO - save future_receipt 2025-08-08 add
2025-08-27 16:26:25,042 - future_1d - INFO -                                       0  ...                           4
date                         2025-08-08  ...                  2025-08-08
variety                              AP  ...                          AP
fut_name                             苹果  ...                          苹果
warehouse                          富县子午  ...                        洛川延刚
receipt_pre                         NaN  ...                         NaN
receipt                             0.0  ...                         NaN
receipt_chg                           0  ...                           0
unit                                  张  ...                           张
comd                                 AP  ...                          AP
created_at   2025-08-27 16:26:24.810928  ...  2025-08-27 16:26:24.810928
updated_at   2025-08-27 16:26:24.811329  ...  2025-08-27 16:26:24.811329

[11 rows x 5 columns]
Traceback (most recent call last):
  File "/root/project/future_1d/future1d_request.py", line 704, in save_future_receipt
    df_comd = pro.fut_wsr(trade_date=td.strftime('%Y%m%d'), symbol=comd.upper())
  File "/usr/local/lib/python3.10/site-packages/tushare/pro/client.py", line 44, in query
    raise Exception(result['msg'])
Exception: 抱歉,您每分钟最多访问该接口200次,权限的具体详情访问:https://tushare.pro/document/1?doc_id=108。
An error occurred: 抱歉,您每分钟最多访问该接口200次,权限的具体详情访问:https://tushare.pro/document/1?doc_id=108。
2025-08-27 16:26:47,160 - future_1d - INFO - pro.fut_wsr(trade_date=2025-08-11 failed
2025-08-27 16:26:47,883 - future_1d - INFO - save future_receipt 2025-08-11 add
2025-08-27 16:26:47,890 - future_1d - INFO -                                       0  ...                           4
date                         2025-08-11  ...                  2025-08-11
variety                              AP  ...                          AP
fut_name                             苹果  ...                          苹果
warehouse                          富县子午  ...                        洛川延刚
receipt_pre                        None  ...                        None
receipt                             0.0  ...                         NaN
receipt_chg                           0  ...                           0
unit                                  张  ...                           张
comd                                 AP  ...                          AP
created_at   2025-08-27 16:26:47.794652  ...  2025-08-27 16:26:47.794652
updated_at   2025-08-27 16:26:47.795053  ...  2025-08-27 16:26:47.795053

[11 rows x 5 columns]
2025-08-27 16:27:13,637 - future_1d - INFO - pro.fut_wsr(trade_date=2025-08-12) done
2025-08-27 16:27:14,474 - future_1d - INFO - save future_receipt 2025-08-12 add
2025-08-27 16:27:14,481 - future_1d - INFO -                                       0  ...                           4
date                         2025-08-12  ...                  2025-08-12
variety                              AP  ...                          AP
fut_name                             苹果  ...                          苹果
warehouse                          富县子午  ...                        洛川延刚
receipt_pre                         NaN  ...                         NaN
receipt                             0.0  ...                         NaN
receipt_chg                           0  ...                           0
unit                                  张  ...                           张
comd                                 AP  ...                          AP
created_at   2025-08-27 16:27:14.303358  ...  2025-08-27 16:27:14.303358
updated_at   2025-08-27 16:27:14.303783  ...  2025-08-27 16:27:14.303783

[11 rows x 5 columns]
2025-08-27 16:27:39,764 - future_1d - INFO - pro.fut_wsr(trade_date=2025-08-13) done
2025-08-27 16:27:40,596 - future_1d - INFO - save future_receipt 2025-08-13 add
2025-08-27 16:27:40,605 - future_1d - INFO -                                       0  ...                           4
date                         2025-08-13  ...                  2025-08-13
variety                              AP  ...                          AP
fut_name                             苹果  ...                          苹果
warehouse                          富县子午  ...                        洛川延刚
receipt_pre                         NaN  ...                         NaN
receipt                             0.0  ...                         NaN
receipt_chg                           0  ...                           0
unit                                  张  ...                           张
comd                                 AP  ...                          AP
created_at   2025-08-27 16:27:40.430749  ...  2025-08-27 16:27:40.430749
updated_at   2025-08-27 16:27:40.431169  ...  2025-08-27 16:27:40.431169

[11 rows x 5 columns]
Traceback (most recent call last):
  File "/root/project/future_1d/future1d_request.py", line 704, in save_future_receipt
    df_comd = pro.fut_wsr(trade_date=td.strftime('%Y%m%d'), symbol=comd.upper())
  File "/usr/local/lib/python3.10/site-packages/tushare/pro/client.py", line 44, in query
    raise Exception(result['msg'])
Exception: 抱歉,您每分钟最多访问该接口200次,权限的具体详情访问:https://tushare.pro/document/1?doc_id=108。
An error occurred: 抱歉,您每分钟最多访问该接口200次,权限的具体详情访问:https://tushare.pro/document/1?doc_id=108。
2025-08-27 16:28:02,737 - future_1d - INFO - pro.fut_wsr(trade_date=2025-08-14 failed
Traceback (most recent call last):
  File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1936, in _exec_single_context
    self.dialect.do_executemany(
  File "/usr/local/lib/python3.10/site-packages/sqlalchemy/dialects/mysql/mysqldb.py", line 196, in do_executemany
    rowcount = cursor.executemany(statement, parameters)
  File "/usr/local/lib/python3.10/site-packages/pymysql/cursors.py", line 187, in executemany
    return self._do_execute_many(
  File "/usr/local/lib/python3.10/site-packages/pymysql/cursors.py", line 225, in _do_execute_many
    rows += self.execute(sql + postfix)
  File "/usr/local/lib/python3.10/site-packages/pymysql/cursors.py", line 158, in execute
    result = self._query(query)
  File "/usr/local/lib/python3.10/site-packages/pymysql/cursors.py", line 325, in _query
    conn.query(q)
  File "/usr/local/lib/python3.10/site-packages/pymysql/connections.py", line 549, in query
    self._affected_rows = self._read_query_result(unbuffered=unbuffered)
  File "/usr/local/lib/python3.10/site-packages/pymysql/connections.py", line 779, in _read_query_result
    result.read()
  File "/usr/local/lib/python3.10/site-packages/pymysql/connections.py", line 1157, in read
    first_packet = self.connection._read_packet()
  File "/usr/local/lib/python3.10/site-packages/pymysql/connections.py", line 729, in _read_packet
    packet.raise_for_error()
  File "/usr/local/lib/python3.10/site-packages/pymysql/protocol.py", line 221, in raise_for_error
    err.raise_mysql_exception(self._data)
  File "/usr/local/lib/python3.10/site-packages/pymysql/err.py", line 143, in raise_mysql_exception
    raise errorclass(errno, errval)
pymysql.err.DataError: (1366, "Incorrect decimal value: 'None' for column 'receipt_pre' at row 1")

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/root/project/future_1d/future_receipt.py", line 7, in 
    client.save_future_receipt(check=True, check_last=15)
  File "/root/project/future_1d/future1d_request.py", line 723, in save_future_receipt
    data_add.to_sql(tablebase.__tablename__, self.engine, index=False, if_exists='append', chunksize=1000)
  File "/usr/local/lib/python3.10/site-packages/pandas/util/_decorators.py", line 333, in wrapper
    return func(*args, **kwargs)
  File "/usr/local/lib/python3.10/site-packages/pandas/core/generic.py", line 3106, in to_sql
    return sql.to_sql(
  File "/usr/local/lib/python3.10/site-packages/pandas/io/sql.py", line 844, in to_sql
    return pandas_sql.to_sql(
  File "/usr/local/lib/python3.10/site-packages/pandas/io/sql.py", line 2030, in to_sql
    total_inserted = sql_engine.insert_records(
  File "/usr/local/lib/python3.10/site-packages/pandas/io/sql.py", line 1579, in insert_records
    raise err
  File "/usr/local/lib/python3.10/site-packages/pandas/io/sql.py", line 1570, in insert_records
    return table.insert(chunksize=chunksize, method=method)
  File "/usr/local/lib/python3.10/site-packages/pandas/io/sql.py", line 1121, in insert
    num_inserted = exec_insert(conn, keys, chunk_iter)
  File "/usr/local/lib/python3.10/site-packages/pandas/io/sql.py", line 1012, in _execute_insert
    result = conn.execute(self.table.insert(), data)
  File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1419, in execute
    return meth(
  File "/usr/local/lib/python3.10/site-packages/sqlalchemy/sql/elements.py", line 526, in _execute_on_connection
    return connection._execute_clauseelement(
  File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1641, in _execute_clauseelement
    ret = self._execute_context(
  File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1846, in _execute_context
    return self._exec_single_context(
  File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1986, in _exec_single_context
    self._handle_dbapi_exception(
  File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 2355, in _handle_dbapi_exception
    raise sqlalchemy_exception.with_traceback(exc_info[2]) from e
  File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1936, in _exec_single_context
    self.dialect.do_executemany(
  File "/usr/local/lib/python3.10/site-packages/sqlalchemy/dialects/mysql/mysqldb.py", line 196, in do_executemany
    rowcount = cursor.executemany(statement, parameters)
  File "/usr/local/lib/python3.10/site-packages/pymysql/cursors.py", line 187, in executemany
    return self._do_execute_many(
  File "/usr/local/lib/python3.10/site-packages/pymysql/cursors.py", line 225, in _do_execute_many
    rows += self.execute(sql + postfix)
  File "/usr/local/lib/python3.10/site-packages/pymysql/cursors.py", line 158, in execute
    result = self._query(query)
  File "/usr/local/lib/python3.10/site-packages/pymysql/cursors.py", line 325, in _query
    conn.query(q)
  File "/usr/local/lib/python3.10/site-packages/pymysql/connections.py", line 549, in query
    self._affected_rows = self._read_query_result(unbuffered=unbuffered)
  File "/usr/local/lib/python3.10/site-packages/pymysql/connections.py", line 779, in _read_query_result
    result.read()
  File "/usr/local/lib/python3.10/site-packages/pymysql/connections.py", line 1157, in read
    first_packet = self.connection._read_packet()
  File "/usr/local/lib/python3.10/site-packages/pymysql/connections.py", line 729, in _read_packet
    packet.raise_for_error()
  File "/usr/local/lib/python3.10/site-packages/pymysql/protocol.py", line 221, in raise_for_error
    err.raise_mysql_exception(self._data)
  File "/usr/local/lib/python3.10/site-packages/pymysql/err.py", line 143, in raise_mysql_exception
    raise errorclass(errno, errval)
sqlalchemy.exc.DataError: (pymysql.err.DataError) (1366, "Incorrect decimal value: 'None' for column 'receipt_pre' at row 1")
[SQL: INSERT INTO future_receipt (date, variety, fut_name, warehouse, receipt_pre, receipt, receipt_chg, unit, comd, created_at, updated_at) VALUES (%(date)s, %(variety)s, %(fut_name)s, %(warehouse)s, %(receipt_pre)s, %(receipt)s, %(receipt_chg)s, %(unit)s, %(comd)s, %(created_at)s, %(updated_at)s)]
[parameters: [{'date': '2025-08-14', 'variety': 'AP', 'fut_name': '苹果', 'warehouse': '富县子午', 'receipt_pre': 'None', 'receipt': 0.0, 'receipt_chg': '0', 'unit': '张', 'comd': 'AP', 'created_at': datetime.datetime(2025, 8, 27, 16, 28, 3, 410428), 'updated_at': datetime.datetime(2025, 8, 27, 16, 28, 3, 410864)}, {'date': '2025-08-14', 'variety': 'AP', 'fut_name': '苹果', 'warehouse': '延安农投', 'receipt_pre': 'None', 'receipt': None, 'receipt_chg': '0', 'unit': '张', 'comd': 'AP', 'created_at': datetime.datetime(2025, 8, 27, 16, 28, 3, 410428), 'updated_at': datetime.datetime(2025, 8, 27, 16, 28, 3, 410864)}, {'date': '2025-08-14', 'variety': 'AP', 'fut_name': '苹果', 'warehouse': '延长果业', 'receipt_pre': 'None', 'receipt': 0.0, 'receipt_chg': '0', 'unit': '张', 'comd': 'AP', 'created_at': datetime.datetime(2025, 8, 27, 16, 28, 3, 410428), 'updated_at': datetime.datetime(2025, 8, 27, 16, 28, 3, 410864)}, {'date': '2025-08-14', 'variety': 'AP', 'fut_name': '苹果', 'warehouse': '栖霞德丰', 'receipt_pre': 'None', 'receipt': 0.0, 'receipt_chg': '0', 'unit': '张', 'comd': 'AP', 'created_at': datetime.datetime(2025, 8, 27, 16, 28, 3, 410428), 'updated_at': datetime.datetime(2025, 8, 27, 16, 28, 3, 410864)}, {'date': '2025-08-14', 'variety': 'AP', 'fut_name': '苹果', 'warehouse': '洛川延刚', 'receipt_pre': 'None', 'receipt': None, 'receipt_chg': '0', 'unit': '张', 'comd': 'AP', 'created_at': datetime.datetime(2025, 8, 27, 16, 28, 3, 410428), 'updated_at': datetime.datetime(2025, 8, 27, 16, 28, 3, 410864)}, {'date': '2025-08-14', 'variety': 'AP', 'fut_name': '苹果', 'warehouse': '渭南天顺', 'receipt_pre': 'None', 'receipt': 0.0, 'receipt_chg': '0', 'unit': '张', 'comd': 'AP', 'created_at': datetime.datetime(2025, 8, 27, 16, 28, 3, 410428), 'updated_at': datetime.datetime(2025, 8, 27, 16, 28, 3, 410864)}, {'date': '2025-08-14', 'variety': 'AP', 'fut_name': '苹果', 'warehouse': '烟台玉益', 'receipt_pre': 'None', 'receipt': None, 'receipt_chg': '0', 'unit': '张', 'comd': 'AP', 'created_at': datetime.datetime(2025, 8, 27, 16, 28, 3, 410428), 'updated_at': datetime.datetime(2025, 8, 27, 16, 28, 3, 410864)}, {'date': '2025-08-14', 'variety': 'AP', 'fut_name': '苹果', 'warehouse': '烟台联盛', 'receipt_pre': 'None', 'receipt': 0.0, 'receipt_chg': '0', 'unit': '张', 'comd': 'AP', 'created_at': datetime.datetime(2025, 8, 27, 16, 28, 3, 410428), 'updated_at': datetime.datetime(2025, 8, 27, 16, 28, 3, 410864)}  ... displaying 10 of 428 total bound parameter sets ...  {'date': '2025-08-14', 'variety': 'SR', 'fut_name': '白糖', 'warehouse': '藁城永安', 'receipt_pre': 'None', 'receipt': 2744.0, 'receipt_chg': '-50', 'unit': '张', 'comd': 'SR', 'created_at': datetime.datetime(2025, 8, 27, 16, 28, 3, 410428), 'updated_at': datetime.datetime(2025, 8, 27, 16, 28, 3, 410864)}, {'date': '2025-08-14', 'variety': 'SR', 'fut_name': '白糖', 'warehouse': '驮卢东亚(厂库)', 'receipt_pre': 'None', 'receipt': 0.0, 'receipt_chg': '0', 'unit': '张', 'comd': 'SR', 'created_at': datetime.datetime(2025, 8, 27, 16, 28, 3, 410428), 'updated_at': datetime.datetime(2025, 8, 27, 16, 28, 3, 410864)}]]
(Background on this error at: https://sqlalche.me/e/20/9h9h)
=========================================================================
2025-08-27 16:28:50 Wed	START TASK.01	future_1d  future_receipt
=========================================================================
2025-08-27 16:28:52,047 - future_1d - INFO - future_receipt check=True check_last=15 start...
2025-08-27 16:28:58,257 - future_1d - INFO - pro.fut_wsr(trade_date=2025-08-07) done
2025-08-27 16:28:59,156 - future_1d - INFO - save future_receipt 2025-08-07 add
2025-08-27 16:28:59,164 - future_1d - INFO -                                       0  ...                           4
date                         2025-08-07  ...                  2025-08-07
variety                              AP  ...                          AP
fut_name                             苹果  ...                          苹果
warehouse                          富县子午  ...                        洛川延刚
receipt_pre                         NaN  ...                         NaN
receipt                             0.0  ...                         NaN
receipt_chg                           0  ...                           0
unit                                  张  ...                           张
comd                                 AP  ...                          AP
created_at   2025-08-27 16:28:58.971004  ...  2025-08-27 16:28:58.971004
updated_at   2025-08-27 16:28:58.971446  ...  2025-08-27 16:28:58.971446

[11 rows x 5 columns]
2025-08-27 16:29:24,065 - future_1d - INFO - pro.fut_wsr(trade_date=2025-08-08) done
2025-08-27 16:29:24,890 - future_1d - INFO - save future_receipt 2025-08-08 add
2025-08-27 16:29:24,897 - future_1d - INFO -                                       0  ...                           4
date                         2025-08-08  ...                  2025-08-08
variety                              AP  ...                          AP
fut_name                             苹果  ...                          苹果
warehouse                          富县子午  ...                        洛川延刚
receipt_pre                         NaN  ...                         NaN
receipt                             0.0  ...                         NaN
receipt_chg                           0  ...                           0
unit                                  张  ...                           张
comd                                 AP  ...                          AP
created_at   2025-08-27 16:29:24.733169  ...  2025-08-27 16:29:24.733169
updated_at   2025-08-27 16:29:24.733589  ...  2025-08-27 16:29:24.733589

[11 rows x 5 columns]
Traceback (most recent call last):
  File "/root/project/future_1d/future1d_request.py", line 704, in save_future_receipt
    df_comd = pro.fut_wsr(trade_date=td.strftime('%Y%m%d'), symbol=comd.upper())
  File "/usr/local/lib/python3.10/site-packages/tushare/pro/client.py", line 44, in query
    raise Exception(result['msg'])
Exception: 抱歉,您每分钟最多访问该接口200次,权限的具体详情访问:https://tushare.pro/document/1?doc_id=108。
An error occurred: 抱歉,您每分钟最多访问该接口200次,权限的具体详情访问:https://tushare.pro/document/1?doc_id=108。
2025-08-27 16:29:46,668 - future_1d - INFO - pro.fut_wsr(trade_date=2025-08-11 failed
2025-08-27 16:29:47,401 - future_1d - INFO - save future_receipt 2025-08-11 add
2025-08-27 16:29:47,408 - future_1d - INFO -                                       0  ...                           4
date                         2025-08-11  ...                  2025-08-11
variety                              AP  ...                          AP
fut_name                             苹果  ...                          苹果
warehouse                          富县子午  ...                        洛川延刚
receipt_pre                        None  ...                        None
receipt                             0.0  ...                         NaN
receipt_chg                           0  ...                           0
unit                                  张  ...                           张
comd                                 AP  ...                          AP
created_at   2025-08-27 16:29:47.322652  ...  2025-08-27 16:29:47.322652
updated_at   2025-08-27 16:29:47.323061  ...  2025-08-27 16:29:47.323061

[11 rows x 5 columns]
2025-08-27 16:30:13,263 - future_1d - INFO - pro.fut_wsr(trade_date=2025-08-12) done
2025-08-27 16:30:14,159 - future_1d - INFO - save future_receipt 2025-08-12 add
2025-08-27 16:30:14,170 - future_1d - INFO -                                       0  ...                           4
date                         2025-08-12  ...                  2025-08-12
variety                              AP  ...                          AP
fut_name                             苹果  ...                          苹果
warehouse                          富县子午  ...                        洛川延刚
receipt_pre                         NaN  ...                         NaN
receipt                             0.0  ...                         NaN
receipt_chg                           0  ...                           0
unit                                  张  ...                           张
comd                                 AP  ...                          AP
created_at   2025-08-27 16:30:13.950974  ...  2025-08-27 16:30:13.950974
updated_at   2025-08-27 16:30:13.951378  ...  2025-08-27 16:30:13.951378

[11 rows x 5 columns]
2025-08-27 16:30:40,980 - future_1d - INFO - pro.fut_wsr(trade_date=2025-08-13) done
2025-08-27 16:30:41,846 - future_1d - INFO - save future_receipt 2025-08-13 add
2025-08-27 16:30:41,853 - future_1d - INFO -                                       0  ...                           4
date                         2025-08-13  ...                  2025-08-13
variety                              AP  ...                          AP
fut_name                             苹果  ...                          苹果
warehouse                          富县子午  ...                        洛川延刚
receipt_pre                         NaN  ...                         NaN
receipt                             0.0  ...                         NaN
receipt_chg                           0  ...                           0
unit                                  张  ...                           张
comd                                 AP  ...                          AP
created_at   2025-08-27 16:30:41.677273  ...  2025-08-27 16:30:41.677273
updated_at   2025-08-27 16:30:41.677699  ...  2025-08-27 16:30:41.677699

[11 rows x 5 columns]
Traceback (most recent call last):
  File "/root/project/future_1d/future1d_request.py", line 704, in save_future_receipt
    df_comd = pro.fut_wsr(trade_date=td.strftime('%Y%m%d'), symbol=comd.upper())
  File "/usr/local/lib/python3.10/site-packages/tushare/pro/client.py", line 44, in query
    raise Exception(result['msg'])
Exception: 抱歉,您每分钟最多访问该接口200次,权限的具体详情访问:https://tushare.pro/document/1?doc_id=108。
An error occurred: 抱歉,您每分钟最多访问该接口200次,权限的具体详情访问:https://tushare.pro/document/1?doc_id=108。
2025-08-27 16:31:03,650 - future_1d - INFO - pro.fut_wsr(trade_date=2025-08-14 failed
Traceback (most recent call last):
  File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1936, in _exec_single_context
    self.dialect.do_executemany(
  File "/usr/local/lib/python3.10/site-packages/sqlalchemy/dialects/mysql/mysqldb.py", line 196, in do_executemany
    rowcount = cursor.executemany(statement, parameters)
  File "/usr/local/lib/python3.10/site-packages/pymysql/cursors.py", line 187, in executemany
    return self._do_execute_many(
  File "/usr/local/lib/python3.10/site-packages/pymysql/cursors.py", line 225, in _do_execute_many
    rows += self.execute(sql + postfix)
  File "/usr/local/lib/python3.10/site-packages/pymysql/cursors.py", line 158, in execute
    result = self._query(query)
  File "/usr/local/lib/python3.10/site-packages/pymysql/cursors.py", line 325, in _query
    conn.query(q)
  File "/usr/local/lib/python3.10/site-packages/pymysql/connections.py", line 549, in query
    self._affected_rows = self._read_query_result(unbuffered=unbuffered)
  File "/usr/local/lib/python3.10/site-packages/pymysql/connections.py", line 779, in _read_query_result
    result.read()
  File "/usr/local/lib/python3.10/site-packages/pymysql/connections.py", line 1157, in read
    first_packet = self.connection._read_packet()
  File "/usr/local/lib/python3.10/site-packages/pymysql/connections.py", line 729, in _read_packet
    packet.raise_for_error()
  File "/usr/local/lib/python3.10/site-packages/pymysql/protocol.py", line 221, in raise_for_error
    err.raise_mysql_exception(self._data)
  File "/usr/local/lib/python3.10/site-packages/pymysql/err.py", line 143, in raise_mysql_exception
    raise errorclass(errno, errval)
pymysql.err.DataError: (1366, "Incorrect decimal value: 'None' for column 'receipt_pre' at row 1")

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/root/project/future_1d/future_receipt.py", line 7, in 
    client.save_future_receipt(check=True, check_last=15)
  File "/root/project/future_1d/future1d_request.py", line 723, in save_future_receipt
    data_add.to_sql(tablebase.__tablename__, self.engine, index=False, if_exists='append', chunksize=1000)
  File "/usr/local/lib/python3.10/site-packages/pandas/util/_decorators.py", line 333, in wrapper
    return func(*args, **kwargs)
  File "/usr/local/lib/python3.10/site-packages/pandas/core/generic.py", line 3106, in to_sql
    return sql.to_sql(
  File "/usr/local/lib/python3.10/site-packages/pandas/io/sql.py", line 844, in to_sql
    return pandas_sql.to_sql(
  File "/usr/local/lib/python3.10/site-packages/pandas/io/sql.py", line 2030, in to_sql
    total_inserted = sql_engine.insert_records(
  File "/usr/local/lib/python3.10/site-packages/pandas/io/sql.py", line 1579, in insert_records
    raise err
  File "/usr/local/lib/python3.10/site-packages/pandas/io/sql.py", line 1570, in insert_records
    return table.insert(chunksize=chunksize, method=method)
  File "/usr/local/lib/python3.10/site-packages/pandas/io/sql.py", line 1121, in insert
    num_inserted = exec_insert(conn, keys, chunk_iter)
  File "/usr/local/lib/python3.10/site-packages/pandas/io/sql.py", line 1012, in _execute_insert
    result = conn.execute(self.table.insert(), data)
  File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1419, in execute
    return meth(
  File "/usr/local/lib/python3.10/site-packages/sqlalchemy/sql/elements.py", line 526, in _execute_on_connection
    return connection._execute_clauseelement(
  File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1641, in _execute_clauseelement
    ret = self._execute_context(
  File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1846, in _execute_context
    return self._exec_single_context(
  File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1986, in _exec_single_context
    self._handle_dbapi_exception(
  File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 2355, in _handle_dbapi_exception
    raise sqlalchemy_exception.with_traceback(exc_info[2]) from e
  File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1936, in _exec_single_context
    self.dialect.do_executemany(
  File "/usr/local/lib/python3.10/site-packages/sqlalchemy/dialects/mysql/mysqldb.py", line 196, in do_executemany
    rowcount = cursor.executemany(statement, parameters)
  File "/usr/local/lib/python3.10/site-packages/pymysql/cursors.py", line 187, in executemany
    return self._do_execute_many(
  File "/usr/local/lib/python3.10/site-packages/pymysql/cursors.py", line 225, in _do_execute_many
    rows += self.execute(sql + postfix)
  File "/usr/local/lib/python3.10/site-packages/pymysql/cursors.py", line 158, in execute
    result = self._query(query)
  File "/usr/local/lib/python3.10/site-packages/pymysql/cursors.py", line 325, in _query
    conn.query(q)
  File "/usr/local/lib/python3.10/site-packages/pymysql/connections.py", line 549, in query
    self._affected_rows = self._read_query_result(unbuffered=unbuffered)
  File "/usr/local/lib/python3.10/site-packages/pymysql/connections.py", line 779, in _read_query_result
    result.read()
  File "/usr/local/lib/python3.10/site-packages/pymysql/connections.py", line 1157, in read
    first_packet = self.connection._read_packet()
  File "/usr/local/lib/python3.10/site-packages/pymysql/connections.py", line 729, in _read_packet
    packet.raise_for_error()
  File "/usr/local/lib/python3.10/site-packages/pymysql/protocol.py", line 221, in raise_for_error
    err.raise_mysql_exception(self._data)
  File "/usr/local/lib/python3.10/site-packages/pymysql/err.py", line 143, in raise_mysql_exception
    raise errorclass(errno, errval)
sqlalchemy.exc.DataError: (pymysql.err.DataError) (1366, "Incorrect decimal value: 'None' for column 'receipt_pre' at row 1")
[SQL: INSERT INTO future_receipt (date, variety, fut_name, warehouse, receipt_pre, receipt, receipt_chg, unit, comd, created_at, updated_at) VALUES (%(date)s, %(variety)s, %(fut_name)s, %(warehouse)s, %(receipt_pre)s, %(receipt)s, %(receipt_chg)s, %(unit)s, %(comd)s, %(created_at)s, %(updated_at)s)]
[parameters: [{'date': '2025-08-14', 'variety': 'AP', 'fut_name': '苹果', 'warehouse': '富县子午', 'receipt_pre': 'None', 'receipt': 0.0, 'receipt_chg': '0', 'unit': '张', 'comd': 'AP', 'created_at': datetime.datetime(2025, 8, 27, 16, 31, 4, 309121), 'updated_at': datetime.datetime(2025, 8, 27, 16, 31, 4, 309512)}, {'date': '2025-08-14', 'variety': 'AP', 'fut_name': '苹果', 'warehouse': '延安农投', 'receipt_pre': 'None', 'receipt': None, 'receipt_chg': '0', 'unit': '张', 'comd': 'AP', 'created_at': datetime.datetime(2025, 8, 27, 16, 31, 4, 309121), 'updated_at': datetime.datetime(2025, 8, 27, 16, 31, 4, 309512)}, {'date': '2025-08-14', 'variety': 'AP', 'fut_name': '苹果', 'warehouse': '延长果业', 'receipt_pre': 'None', 'receipt': 0.0, 'receipt_chg': '0', 'unit': '张', 'comd': 'AP', 'created_at': datetime.datetime(2025, 8, 27, 16, 31, 4, 309121), 'updated_at': datetime.datetime(2025, 8, 27, 16, 31, 4, 309512)}, {'date': '2025-08-14', 'variety': 'AP', 'fut_name': '苹果', 'warehouse': '栖霞德丰', 'receipt_pre': 'None', 'receipt': 0.0, 'receipt_chg': '0', 'unit': '张', 'comd': 'AP', 'created_at': datetime.datetime(2025, 8, 27, 16, 31, 4, 309121), 'updated_at': datetime.datetime(2025, 8, 27, 16, 31, 4, 309512)}, {'date': '2025-08-14', 'variety': 'AP', 'fut_name': '苹果', 'warehouse': '洛川延刚', 'receipt_pre': 'None', 'receipt': None, 'receipt_chg': '0', 'unit': '张', 'comd': 'AP', 'created_at': datetime.datetime(2025, 8, 27, 16, 31, 4, 309121), 'updated_at': datetime.datetime(2025, 8, 27, 16, 31, 4, 309512)}, {'date': '2025-08-14', 'variety': 'AP', 'fut_name': '苹果', 'warehouse': '渭南天顺', 'receipt_pre': 'None', 'receipt': 0.0, 'receipt_chg': '0', 'unit': '张', 'comd': 'AP', 'created_at': datetime.datetime(2025, 8, 27, 16, 31, 4, 309121), 'updated_at': datetime.datetime(2025, 8, 27, 16, 31, 4, 309512)}, {'date': '2025-08-14', 'variety': 'AP', 'fut_name': '苹果', 'warehouse': '烟台玉益', 'receipt_pre': 'None', 'receipt': None, 'receipt_chg': '0', 'unit': '张', 'comd': 'AP', 'created_at': datetime.datetime(2025, 8, 27, 16, 31, 4, 309121), 'updated_at': datetime.datetime(2025, 8, 27, 16, 31, 4, 309512)}, {'date': '2025-08-14', 'variety': 'AP', 'fut_name': '苹果', 'warehouse': '烟台联盛', 'receipt_pre': 'None', 'receipt': 0.0, 'receipt_chg': '0', 'unit': '张', 'comd': 'AP', 'created_at': datetime.datetime(2025, 8, 27, 16, 31, 4, 309121), 'updated_at': datetime.datetime(2025, 8, 27, 16, 31, 4, 309512)}  ... displaying 10 of 428 total bound parameter sets ...  {'date': '2025-08-14', 'variety': 'SR', 'fut_name': '白糖', 'warehouse': '藁城永安', 'receipt_pre': 'None', 'receipt': 2744.0, 'receipt_chg': '-50', 'unit': '张', 'comd': 'SR', 'created_at': datetime.datetime(2025, 8, 27, 16, 31, 4, 309121), 'updated_at': datetime.datetime(2025, 8, 27, 16, 31, 4, 309512)}, {'date': '2025-08-14', 'variety': 'SR', 'fut_name': '白糖', 'warehouse': '驮卢东亚(厂库)', 'receipt_pre': 'None', 'receipt': 0.0, 'receipt_chg': '0', 'unit': '张', 'comd': 'SR', 'created_at': datetime.datetime(2025, 8, 27, 16, 31, 4, 309121), 'updated_at': datetime.datetime(2025, 8, 27, 16, 31, 4, 309512)}]]
(Background on this error at: https://sqlalche.me/e/20/9h9h)
=========================================================================
2025-08-27 16:32:00 Wed	START TASK.01	future_1d  future_receipt
=========================================================================
2025-08-27 16:32:02,074 - future_1d - INFO - future_receipt check=True check_last=15 start...
2025-08-27 16:32:08,315 - future_1d - INFO - pro.fut_wsr(trade_date=2025-08-07) done
2025-08-27 16:32:09,154 - future_1d - INFO - save future_receipt 2025-08-07 add
2025-08-27 16:32:09,162 - future_1d - INFO -                                       0  ...                           4
date                         2025-08-07  ...                  2025-08-07
variety                              AP  ...                          AP
fut_name                             苹果  ...                          苹果
warehouse                          富县子午  ...                        洛川延刚
receipt_pre                         NaN  ...                         NaN
receipt                             0.0  ...                         NaN
receipt_chg                           0  ...                           0
unit                                  张  ...                           张
comd                                 AP  ...                          AP
created_at   2025-08-27 16:32:09.041242  ...  2025-08-27 16:32:09.041242
updated_at   2025-08-27 16:32:09.041724  ...  2025-08-27 16:32:09.041724

[11 rows x 5 columns]
2025-08-27 16:32:35,287 - future_1d - INFO - pro.fut_wsr(trade_date=2025-08-08) done
2025-08-27 16:32:36,082 - future_1d - INFO - save future_receipt 2025-08-08 add
2025-08-27 16:32:36,090 - future_1d - INFO -                                       0  ...                           4
date                         2025-08-08  ...                  2025-08-08
variety                              AP  ...                          AP
fut_name                             苹果  ...                          苹果
warehouse                          富县子午  ...                        洛川延刚
receipt_pre                         NaN  ...                         NaN
receipt                             0.0  ...                         NaN
receipt_chg                           0  ...                           0
unit                                  张  ...                           张
comd                                 AP  ...                          AP
created_at   2025-08-27 16:32:35.988160  ...  2025-08-27 16:32:35.988160
updated_at   2025-08-27 16:32:35.988601  ...  2025-08-27 16:32:35.988601

[11 rows x 5 columns]
Traceback (most recent call last):
  File "/root/project/future_1d/future1d_request.py", line 704, in save_future_receipt
    df_comd = pro.fut_wsr(trade_date=td.strftime('%Y%m%d'), symbol=comd.upper())
  File "/usr/local/lib/python3.10/site-packages/tushare/pro/client.py", line 44, in query
    raise Exception(result['msg'])
Exception: 抱歉,您每分钟最多访问该接口200次,权限的具体详情访问:https://tushare.pro/document/1?doc_id=108。
An error occurred: 抱歉,您每分钟最多访问该接口200次,权限的具体详情访问:https://tushare.pro/document/1?doc_id=108。
2025-08-27 16:32:57,354 - future_1d - INFO - pro.fut_wsr(trade_date=2025-08-11 failed
2025-08-27 16:32:58,095 - future_1d - INFO - save future_receipt 2025-08-11 add
2025-08-27 16:32:58,102 - future_1d - INFO -                                       0  ...                           4
date                         2025-08-11  ...                  2025-08-11
variety                              AP  ...                          AP
fut_name                             苹果  ...                          苹果
warehouse                          富县子午  ...                        洛川延刚
receipt_pre                        None  ...                        None
receipt                             0.0  ...                         NaN
receipt_chg                           0  ...                           0
unit                                  张  ...                           张
comd                                 AP  ...                          AP
created_at   2025-08-27 16:32:58.027341  ...  2025-08-27 16:32:58.027341
updated_at   2025-08-27 16:32:58.027762  ...  2025-08-27 16:32:58.027762

[11 rows x 5 columns]
2025-08-27 16:33:24,094 - future_1d - INFO - pro.fut_wsr(trade_date=2025-08-12) done
2025-08-27 16:33:24,930 - future_1d - INFO - save future_receipt 2025-08-12 add
2025-08-27 16:33:24,938 - future_1d - INFO -                                       0  ...                           4
date                         2025-08-12  ...                  2025-08-12
variety                              AP  ...                          AP
fut_name                             苹果  ...                          苹果
warehouse                          富县子午  ...                        洛川延刚
receipt_pre                         NaN  ...                         NaN
receipt                             0.0  ...                         NaN
receipt_chg                           0  ...                           0
unit                                  张  ...                           张
comd                                 AP  ...                          AP
created_at   2025-08-27 16:33:24.826255  ...  2025-08-27 16:33:24.826255
updated_at   2025-08-27 16:33:24.826699  ...  2025-08-27 16:33:24.826699

[11 rows x 5 columns]
2025-08-27 16:33:50,059 - future_1d - INFO - pro.fut_wsr(trade_date=2025-08-13) done
2025-08-27 16:33:50,996 - future_1d - INFO - save future_receipt 2025-08-13 add
2025-08-27 16:33:51,004 - future_1d - INFO -                                       0  ...                           4
date                         2025-08-13  ...                  2025-08-13
variety                              AP  ...                          AP
fut_name                             苹果  ...                          苹果
warehouse                          富县子午  ...                        洛川延刚
receipt_pre                         NaN  ...                         NaN
receipt                             0.0  ...                         NaN
receipt_chg                           0  ...                           0
unit                                  张  ...                           张
comd                                 AP  ...                          AP
created_at   2025-08-27 16:33:50.795127  ...  2025-08-27 16:33:50.795127
updated_at   2025-08-27 16:33:50.795542  ...  2025-08-27 16:33:50.795542

[11 rows x 5 columns]
Traceback (most recent call last):
  File "/root/project/future_1d/future1d_request.py", line 704, in save_future_receipt
    df_comd = pro.fut_wsr(trade_date=td.strftime('%Y%m%d'), symbol=comd.upper())
  File "/usr/local/lib/python3.10/site-packages/tushare/pro/client.py", line 44, in query
    raise Exception(result['msg'])
Exception: 抱歉,您每分钟最多访问该接口200次,权限的具体详情访问:https://tushare.pro/document/1?doc_id=108。
An error occurred: 抱歉,您每分钟最多访问该接口200次,权限的具体详情访问:https://tushare.pro/document/1?doc_id=108。
2025-08-27 16:34:13,120 - future_1d - INFO - pro.fut_wsr(trade_date=2025-08-14 failed
Traceback (most recent call last):
  File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1936, in _exec_single_context
    self.dialect.do_executemany(
  File "/usr/local/lib/python3.10/site-packages/sqlalchemy/dialects/mysql/mysqldb.py", line 196, in do_executemany
    rowcount = cursor.executemany(statement, parameters)
  File "/usr/local/lib/python3.10/site-packages/pymysql/cursors.py", line 187, in executemany
    return self._do_execute_many(
  File "/usr/local/lib/python3.10/site-packages/pymysql/cursors.py", line 225, in _do_execute_many
    rows += self.execute(sql + postfix)
  File "/usr/local/lib/python3.10/site-packages/pymysql/cursors.py", line 158, in execute
    result = self._query(query)
  File "/usr/local/lib/python3.10/site-packages/pymysql/cursors.py", line 325, in _query
    conn.query(q)
  File "/usr/local/lib/python3.10/site-packages/pymysql/connections.py", line 549, in query
    self._affected_rows = self._read_query_result(unbuffered=unbuffered)
  File "/usr/local/lib/python3.10/site-packages/pymysql/connections.py", line 779, in _read_query_result
    result.read()
  File "/usr/local/lib/python3.10/site-packages/pymysql/connections.py", line 1157, in read
    first_packet = self.connection._read_packet()
  File "/usr/local/lib/python3.10/site-packages/pymysql/connections.py", line 729, in _read_packet
    packet.raise_for_error()
  File "/usr/local/lib/python3.10/site-packages/pymysql/protocol.py", line 221, in raise_for_error
    err.raise_mysql_exception(self._data)
  File "/usr/local/lib/python3.10/site-packages/pymysql/err.py", line 143, in raise_mysql_exception
    raise errorclass(errno, errval)
pymysql.err.DataError: (1366, "Incorrect decimal value: 'None' for column 'receipt_pre' at row 1")

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/root/project/future_1d/future_receipt.py", line 7, in 
    client.save_future_receipt(check=True, check_last=15)
  File "/root/project/future_1d/future1d_request.py", line 723, in save_future_receipt
    data_add.to_sql(tablebase.__tablename__, self.engine, index=False, if_exists='append', chunksize=1000)
  File "/usr/local/lib/python3.10/site-packages/pandas/util/_decorators.py", line 333, in wrapper
    return func(*args, **kwargs)
  File "/usr/local/lib/python3.10/site-packages/pandas/core/generic.py", line 3106, in to_sql
    return sql.to_sql(
  File "/usr/local/lib/python3.10/site-packages/pandas/io/sql.py", line 844, in to_sql
    return pandas_sql.to_sql(
  File "/usr/local/lib/python3.10/site-packages/pandas/io/sql.py", line 2030, in to_sql
    total_inserted = sql_engine.insert_records(
  File "/usr/local/lib/python3.10/site-packages/pandas/io/sql.py", line 1579, in insert_records
    raise err
  File "/usr/local/lib/python3.10/site-packages/pandas/io/sql.py", line 1570, in insert_records
    return table.insert(chunksize=chunksize, method=method)
  File "/usr/local/lib/python3.10/site-packages/pandas/io/sql.py", line 1121, in insert
    num_inserted = exec_insert(conn, keys, chunk_iter)
  File "/usr/local/lib/python3.10/site-packages/pandas/io/sql.py", line 1012, in _execute_insert
    result = conn.execute(self.table.insert(), data)
  File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1419, in execute
    return meth(
  File "/usr/local/lib/python3.10/site-packages/sqlalchemy/sql/elements.py", line 526, in _execute_on_connection
    return connection._execute_clauseelement(
  File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1641, in _execute_clauseelement
    ret = self._execute_context(
  File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1846, in _execute_context
    return self._exec_single_context(
  File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1986, in _exec_single_context
    self._handle_dbapi_exception(
  File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 2355, in _handle_dbapi_exception
    raise sqlalchemy_exception.with_traceback(exc_info[2]) from e
  File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1936, in _exec_single_context
    self.dialect.do_executemany(
  File "/usr/local/lib/python3.10/site-packages/sqlalchemy/dialects/mysql/mysqldb.py", line 196, in do_executemany
    rowcount = cursor.executemany(statement, parameters)
  File "/usr/local/lib/python3.10/site-packages/pymysql/cursors.py", line 187, in executemany
    return self._do_execute_many(
  File "/usr/local/lib/python3.10/site-packages/pymysql/cursors.py", line 225, in _do_execute_many
    rows += self.execute(sql + postfix)
  File "/usr/local/lib/python3.10/site-packages/pymysql/cursors.py", line 158, in execute
    result = self._query(query)
  File "/usr/local/lib/python3.10/site-packages/pymysql/cursors.py", line 325, in _query
    conn.query(q)
  File "/usr/local/lib/python3.10/site-packages/pymysql/connections.py", line 549, in query
    self._affected_rows = self._read_query_result(unbuffered=unbuffered)
  File "/usr/local/lib/python3.10/site-packages/pymysql/connections.py", line 779, in _read_query_result
    result.read()
  File "/usr/local/lib/python3.10/site-packages/pymysql/connections.py", line 1157, in read
    first_packet = self.connection._read_packet()
  File "/usr/local/lib/python3.10/site-packages/pymysql/connections.py", line 729, in _read_packet
    packet.raise_for_error()
  File "/usr/local/lib/python3.10/site-packages/pymysql/protocol.py", line 221, in raise_for_error
    err.raise_mysql_exception(self._data)
  File "/usr/local/lib/python3.10/site-packages/pymysql/err.py", line 143, in raise_mysql_exception
    raise errorclass(errno, errval)
sqlalchemy.exc.DataError: (pymysql.err.DataError) (1366, "Incorrect decimal value: 'None' for column 'receipt_pre' at row 1")
[SQL: INSERT INTO future_receipt (date, variety, fut_name, warehouse, receipt_pre, receipt, receipt_chg, unit, comd, created_at, updated_at) VALUES (%(date)s, %(variety)s, %(fut_name)s, %(warehouse)s, %(receipt_pre)s, %(receipt)s, %(receipt_chg)s, %(unit)s, %(comd)s, %(created_at)s, %(updated_at)s)]
[parameters: [{'date': '2025-08-14', 'variety': 'AP', 'fut_name': '苹果', 'warehouse': '富县子午', 'receipt_pre': 'None', 'receipt': 0.0, 'receipt_chg': '0', 'unit': '张', 'comd': 'AP', 'created_at': datetime.datetime(2025, 8, 27, 16, 34, 13, 774679), 'updated_at': datetime.datetime(2025, 8, 27, 16, 34, 13, 775083)}, {'date': '2025-08-14', 'variety': 'AP', 'fut_name': '苹果', 'warehouse': '延安农投', 'receipt_pre': 'None', 'receipt': None, 'receipt_chg': '0', 'unit': '张', 'comd': 'AP', 'created_at': datetime.datetime(2025, 8, 27, 16, 34, 13, 774679), 'updated_at': datetime.datetime(2025, 8, 27, 16, 34, 13, 775083)}, {'date': '2025-08-14', 'variety': 'AP', 'fut_name': '苹果', 'warehouse': '延长果业', 'receipt_pre': 'None', 'receipt': 0.0, 'receipt_chg': '0', 'unit': '张', 'comd': 'AP', 'created_at': datetime.datetime(2025, 8, 27, 16, 34, 13, 774679), 'updated_at': datetime.datetime(2025, 8, 27, 16, 34, 13, 775083)}, {'date': '2025-08-14', 'variety': 'AP', 'fut_name': '苹果', 'warehouse': '栖霞德丰', 'receipt_pre': 'None', 'receipt': 0.0, 'receipt_chg': '0', 'unit': '张', 'comd': 'AP', 'created_at': datetime.datetime(2025, 8, 27, 16, 34, 13, 774679), 'updated_at': datetime.datetime(2025, 8, 27, 16, 34, 13, 775083)}, {'date': '2025-08-14', 'variety': 'AP', 'fut_name': '苹果', 'warehouse': '洛川延刚', 'receipt_pre': 'None', 'receipt': None, 'receipt_chg': '0', 'unit': '张', 'comd': 'AP', 'created_at': datetime.datetime(2025, 8, 27, 16, 34, 13, 774679), 'updated_at': datetime.datetime(2025, 8, 27, 16, 34, 13, 775083)}, {'date': '2025-08-14', 'variety': 'AP', 'fut_name': '苹果', 'warehouse': '渭南天顺', 'receipt_pre': 'None', 'receipt': 0.0, 'receipt_chg': '0', 'unit': '张', 'comd': 'AP', 'created_at': datetime.datetime(2025, 8, 27, 16, 34, 13, 774679), 'updated_at': datetime.datetime(2025, 8, 27, 16, 34, 13, 775083)}, {'date': '2025-08-14', 'variety': 'AP', 'fut_name': '苹果', 'warehouse': '烟台玉益', 'receipt_pre': 'None', 'receipt': None, 'receipt_chg': '0', 'unit': '张', 'comd': 'AP', 'created_at': datetime.datetime(2025, 8, 27, 16, 34, 13, 774679), 'updated_at': datetime.datetime(2025, 8, 27, 16, 34, 13, 775083)}, {'date': '2025-08-14', 'variety': 'AP', 'fut_name': '苹果', 'warehouse': '烟台联盛', 'receipt_pre': 'None', 'receipt': 0.0, 'receipt_chg': '0', 'unit': '张', 'comd': 'AP', 'created_at': datetime.datetime(2025, 8, 27, 16, 34, 13, 774679), 'updated_at': datetime.datetime(2025, 8, 27, 16, 34, 13, 775083)}  ... displaying 10 of 428 total bound parameter sets ...  {'date': '2025-08-14', 'variety': 'SR', 'fut_name': '白糖', 'warehouse': '藁城永安', 'receipt_pre': 'None', 'receipt': 2744.0, 'receipt_chg': '-50', 'unit': '张', 'comd': 'SR', 'created_at': datetime.datetime(2025, 8, 27, 16, 34, 13, 774679), 'updated_at': datetime.datetime(2025, 8, 27, 16, 34, 13, 775083)}, {'date': '2025-08-14', 'variety': 'SR', 'fut_name': '白糖', 'warehouse': '驮卢东亚(厂库)', 'receipt_pre': 'None', 'receipt': 0.0, 'receipt_chg': '0', 'unit': '张', 'comd': 'SR', 'created_at': datetime.datetime(2025, 8, 27, 16, 34, 13, 774679), 'updated_at': datetime.datetime(2025, 8, 27, 16, 34, 13, 775083)}]]
(Background on this error at: https://sqlalche.me/e/20/9h9h)
=========================================================================
2025-08-27 16:35:00 Wed	START TASK.01	future_1d  future_receipt
=========================================================================
2025-08-27 16:35:02,115 - future_1d - INFO - future_receipt check=True check_last=15 start...
2025-08-27 16:35:08,443 - future_1d - INFO - pro.fut_wsr(trade_date=2025-08-07) done
2025-08-27 16:35:09,335 - future_1d - INFO - save future_receipt 2025-08-07 add
2025-08-27 16:35:09,345 - future_1d - INFO -                                       0  ...                           4
date                         2025-08-07  ...                  2025-08-07
variety                              AP  ...                          AP
fut_name                             苹果  ...                          苹果
warehouse                          富县子午  ...                        洛川延刚
receipt_pre                         NaN  ...                         NaN
receipt                             0.0  ...                         NaN
receipt_chg                           0  ...                           0
unit                                  张  ...                           张
comd                                 AP  ...                          AP
created_at   2025-08-27 16:35:09.253593  ...  2025-08-27 16:35:09.253593
updated_at   2025-08-27 16:35:09.254013  ...  2025-08-27 16:35:09.254013

[11 rows x 5 columns]
2025-08-27 16:35:35,053 - future_1d - INFO - pro.fut_wsr(trade_date=2025-08-08) done
2025-08-27 16:35:35,928 - future_1d - INFO - save future_receipt 2025-08-08 add
2025-08-27 16:35:35,935 - future_1d - INFO -                                       0  ...                           4
date                         2025-08-08  ...                  2025-08-08
variety                              AP  ...                          AP
fut_name                             苹果  ...                          苹果
warehouse                          富县子午  ...                        洛川延刚
receipt_pre                         NaN  ...                         NaN
receipt                             0.0  ...                         NaN
receipt_chg                           0  ...                           0
unit                                  张  ...                           张
comd                                 AP  ...                          AP
created_at   2025-08-27 16:35:35.778061  ...  2025-08-27 16:35:35.778061
updated_at   2025-08-27 16:35:35.778468  ...  2025-08-27 16:35:35.778468

[11 rows x 5 columns]
Traceback (most recent call last):
  File "/root/project/future_1d/future1d_request.py", line 704, in save_future_receipt
    df_comd = pro.fut_wsr(trade_date=td.strftime('%Y%m%d'), symbol=comd.upper())
  File "/usr/local/lib/python3.10/site-packages/tushare/pro/client.py", line 44, in query
    raise Exception(result['msg'])
Exception: 抱歉,您每分钟最多访问该接口200次,权限的具体详情访问:https://tushare.pro/document/1?doc_id=108。
An error occurred: 抱歉,您每分钟最多访问该接口200次,权限的具体详情访问:https://tushare.pro/document/1?doc_id=108。
2025-08-27 16:35:56,738 - future_1d - INFO - pro.fut_wsr(trade_date=2025-08-11 failed
2025-08-27 16:35:57,519 - future_1d - INFO - save future_receipt 2025-08-11 add
2025-08-27 16:35:57,526 - future_1d - INFO -                                       0  ...                           4
date                         2025-08-11  ...                  2025-08-11
variety                              AP  ...                          AP
fut_name                             苹果  ...                          苹果
warehouse                          富县子午  ...                        洛川延刚
receipt_pre                        None  ...                        None
receipt                             0.0  ...                         NaN
receipt_chg                           0  ...                           0
unit                                  张  ...                           张
comd                                 AP  ...                          AP
created_at   2025-08-27 16:35:57.450389  ...  2025-08-27 16:35:57.450389
updated_at   2025-08-27 16:35:57.450817  ...  2025-08-27 16:35:57.450817

[11 rows x 5 columns]
2025-08-27 16:36:23,487 - future_1d - INFO - pro.fut_wsr(trade_date=2025-08-12) done
2025-08-27 16:36:24,356 - future_1d - INFO - save future_receipt 2025-08-12 add
2025-08-27 16:36:24,364 - future_1d - INFO -                                       0  ...                           4
date                         2025-08-12  ...                  2025-08-12
variety                              AP  ...                          AP
fut_name                             苹果  ...                          苹果
warehouse                          富县子午  ...                        洛川延刚
receipt_pre                         NaN  ...                         NaN
receipt                             0.0  ...                         NaN
receipt_chg                           0  ...                           0
unit                                  张  ...                           张
comd                                 AP  ...                          AP
created_at   2025-08-27 16:36:24.252221  ...  2025-08-27 16:36:24.252221
updated_at   2025-08-27 16:36:24.252634  ...  2025-08-27 16:36:24.252634

[11 rows x 5 columns]
2025-08-27 16:36:48,973 - future_1d - INFO - pro.fut_wsr(trade_date=2025-08-13) done
2025-08-27 16:36:49,947 - future_1d - INFO - save future_receipt 2025-08-13 add
2025-08-27 16:36:49,955 - future_1d - INFO -                                       0  ...                           4
date                         2025-08-13  ...                  2025-08-13
variety                              AP  ...                          AP
fut_name                             苹果  ...                          苹果
warehouse                          富县子午  ...                        洛川延刚
receipt_pre                         NaN  ...                         NaN
receipt                             0.0  ...                         NaN
receipt_chg                           0  ...                           0
unit                                  张  ...                           张
comd                                 AP  ...                          AP
created_at   2025-08-27 16:36:49.748276  ...  2025-08-27 16:36:49.748276
updated_at   2025-08-27 16:36:49.748727  ...  2025-08-27 16:36:49.748727

[11 rows x 5 columns]
Traceback (most recent call last):
  File "/root/project/future_1d/future1d_request.py", line 704, in save_future_receipt
    df_comd = pro.fut_wsr(trade_date=td.strftime('%Y%m%d'), symbol=comd.upper())
  File "/usr/local/lib/python3.10/site-packages/tushare/pro/client.py", line 44, in query
    raise Exception(result['msg'])
Exception: 抱歉,您每分钟最多访问该接口200次,权限的具体详情访问:https://tushare.pro/document/1?doc_id=108。
An error occurred: 抱歉,您每分钟最多访问该接口200次,权限的具体详情访问:https://tushare.pro/document/1?doc_id=108。
2025-08-27 16:37:11,618 - future_1d - INFO - pro.fut_wsr(trade_date=2025-08-14 failed
Traceback (most recent call last):
  File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1936, in _exec_single_context
    self.dialect.do_executemany(
  File "/usr/local/lib/python3.10/site-packages/sqlalchemy/dialects/mysql/mysqldb.py", line 196, in do_executemany
    rowcount = cursor.executemany(statement, parameters)
  File "/usr/local/lib/python3.10/site-packages/pymysql/cursors.py", line 187, in executemany
    return self._do_execute_many(
  File "/usr/local/lib/python3.10/site-packages/pymysql/cursors.py", line 225, in _do_execute_many
    rows += self.execute(sql + postfix)
  File "/usr/local/lib/python3.10/site-packages/pymysql/cursors.py", line 158, in execute
    result = self._query(query)
  File "/usr/local/lib/python3.10/site-packages/pymysql/cursors.py", line 325, in _query
    conn.query(q)
  File "/usr/local/lib/python3.10/site-packages/pymysql/connections.py", line 549, in query
    self._affected_rows = self._read_query_result(unbuffered=unbuffered)
  File "/usr/local/lib/python3.10/site-packages/pymysql/connections.py", line 779, in _read_query_result
    result.read()
  File "/usr/local/lib/python3.10/site-packages/pymysql/connections.py", line 1157, in read
    first_packet = self.connection._read_packet()
  File "/usr/local/lib/python3.10/site-packages/pymysql/connections.py", line 729, in _read_packet
    packet.raise_for_error()
  File "/usr/local/lib/python3.10/site-packages/pymysql/protocol.py", line 221, in raise_for_error
    err.raise_mysql_exception(self._data)
  File "/usr/local/lib/python3.10/site-packages/pymysql/err.py", line 143, in raise_mysql_exception
    raise errorclass(errno, errval)
pymysql.err.DataError: (1366, "Incorrect decimal value: 'None' for column 'receipt_pre' at row 1")

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/root/project/future_1d/future_receipt.py", line 7, in 
    client.save_future_receipt(check=True, check_last=15)
  File "/root/project/future_1d/future1d_request.py", line 723, in save_future_receipt
    data_add.to_sql(tablebase.__tablename__, self.engine, index=False, if_exists='append', chunksize=1000)
  File "/usr/local/lib/python3.10/site-packages/pandas/util/_decorators.py", line 333, in wrapper
    return func(*args, **kwargs)
  File "/usr/local/lib/python3.10/site-packages/pandas/core/generic.py", line 3106, in to_sql
    return sql.to_sql(
  File "/usr/local/lib/python3.10/site-packages/pandas/io/sql.py", line 844, in to_sql
    return pandas_sql.to_sql(
  File "/usr/local/lib/python3.10/site-packages/pandas/io/sql.py", line 2030, in to_sql
    total_inserted = sql_engine.insert_records(
  File "/usr/local/lib/python3.10/site-packages/pandas/io/sql.py", line 1579, in insert_records
    raise err
  File "/usr/local/lib/python3.10/site-packages/pandas/io/sql.py", line 1570, in insert_records
    return table.insert(chunksize=chunksize, method=method)
  File "/usr/local/lib/python3.10/site-packages/pandas/io/sql.py", line 1121, in insert
    num_inserted = exec_insert(conn, keys, chunk_iter)
  File "/usr/local/lib/python3.10/site-packages/pandas/io/sql.py", line 1012, in _execute_insert
    result = conn.execute(self.table.insert(), data)
  File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1419, in execute
    return meth(
  File "/usr/local/lib/python3.10/site-packages/sqlalchemy/sql/elements.py", line 526, in _execute_on_connection
    return connection._execute_clauseelement(
  File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1641, in _execute_clauseelement
    ret = self._execute_context(
  File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1846, in _execute_context
    return self._exec_single_context(
  File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1986, in _exec_single_context
    self._handle_dbapi_exception(
  File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 2355, in _handle_dbapi_exception
    raise sqlalchemy_exception.with_traceback(exc_info[2]) from e
  File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1936, in _exec_single_context
    self.dialect.do_executemany(
  File "/usr/local/lib/python3.10/site-packages/sqlalchemy/dialects/mysql/mysqldb.py", line 196, in do_executemany
    rowcount = cursor.executemany(statement, parameters)
  File "/usr/local/lib/python3.10/site-packages/pymysql/cursors.py", line 187, in executemany
    return self._do_execute_many(
  File "/usr/local/lib/python3.10/site-packages/pymysql/cursors.py", line 225, in _do_execute_many
    rows += self.execute(sql + postfix)
  File "/usr/local/lib/python3.10/site-packages/pymysql/cursors.py", line 158, in execute
    result = self._query(query)
  File "/usr/local/lib/python3.10/site-packages/pymysql/cursors.py", line 325, in _query
    conn.query(q)
  File "/usr/local/lib/python3.10/site-packages/pymysql/connections.py", line 549, in query
    self._affected_rows = self._read_query_result(unbuffered=unbuffered)
  File "/usr/local/lib/python3.10/site-packages/pymysql/connections.py", line 779, in _read_query_result
    result.read()
  File "/usr/local/lib/python3.10/site-packages/pymysql/connections.py", line 1157, in read
    first_packet = self.connection._read_packet()
  File "/usr/local/lib/python3.10/site-packages/pymysql/connections.py", line 729, in _read_packet
    packet.raise_for_error()
  File "/usr/local/lib/python3.10/site-packages/pymysql/protocol.py", line 221, in raise_for_error
    err.raise_mysql_exception(self._data)
  File "/usr/local/lib/python3.10/site-packages/pymysql/err.py", line 143, in raise_mysql_exception
    raise errorclass(errno, errval)
sqlalchemy.exc.DataError: (pymysql.err.DataError) (1366, "Incorrect decimal value: 'None' for column 'receipt_pre' at row 1")
[SQL: INSERT INTO future_receipt (date, variety, fut_name, warehouse, receipt_pre, receipt, receipt_chg, unit, comd, created_at, updated_at) VALUES (%(date)s, %(variety)s, %(fut_name)s, %(warehouse)s, %(receipt_pre)s, %(receipt)s, %(receipt_chg)s, %(unit)s, %(comd)s, %(created_at)s, %(updated_at)s)]
[parameters: [{'date': '2025-08-14', 'variety': 'AP', 'fut_name': '苹果', 'warehouse': '富县子午', 'receipt_pre': 'None', 'receipt': 0.0, 'receipt_chg': '0', 'unit': '张', 'comd': 'AP', 'created_at': datetime.datetime(2025, 8, 27, 16, 37, 12, 278360), 'updated_at': datetime.datetime(2025, 8, 27, 16, 37, 12, 278784)}, {'date': '2025-08-14', 'variety': 'AP', 'fut_name': '苹果', 'warehouse': '延安农投', 'receipt_pre': 'None', 'receipt': None, 'receipt_chg': '0', 'unit': '张', 'comd': 'AP', 'created_at': datetime.datetime(2025, 8, 27, 16, 37, 12, 278360), 'updated_at': datetime.datetime(2025, 8, 27, 16, 37, 12, 278784)}, {'date': '2025-08-14', 'variety': 'AP', 'fut_name': '苹果', 'warehouse': '延长果业', 'receipt_pre': 'None', 'receipt': 0.0, 'receipt_chg': '0', 'unit': '张', 'comd': 'AP', 'created_at': datetime.datetime(2025, 8, 27, 16, 37, 12, 278360), 'updated_at': datetime.datetime(2025, 8, 27, 16, 37, 12, 278784)}, {'date': '2025-08-14', 'variety': 'AP', 'fut_name': '苹果', 'warehouse': '栖霞德丰', 'receipt_pre': 'None', 'receipt': 0.0, 'receipt_chg': '0', 'unit': '张', 'comd': 'AP', 'created_at': datetime.datetime(2025, 8, 27, 16, 37, 12, 278360), 'updated_at': datetime.datetime(2025, 8, 27, 16, 37, 12, 278784)}, {'date': '2025-08-14', 'variety': 'AP', 'fut_name': '苹果', 'warehouse': '洛川延刚', 'receipt_pre': 'None', 'receipt': None, 'receipt_chg': '0', 'unit': '张', 'comd': 'AP', 'created_at': datetime.datetime(2025, 8, 27, 16, 37, 12, 278360), 'updated_at': datetime.datetime(2025, 8, 27, 16, 37, 12, 278784)}, {'date': '2025-08-14', 'variety': 'AP', 'fut_name': '苹果', 'warehouse': '渭南天顺', 'receipt_pre': 'None', 'receipt': 0.0, 'receipt_chg': '0', 'unit': '张', 'comd': 'AP', 'created_at': datetime.datetime(2025, 8, 27, 16, 37, 12, 278360), 'updated_at': datetime.datetime(2025, 8, 27, 16, 37, 12, 278784)}, {'date': '2025-08-14', 'variety': 'AP', 'fut_name': '苹果', 'warehouse': '烟台玉益', 'receipt_pre': 'None', 'receipt': None, 'receipt_chg': '0', 'unit': '张', 'comd': 'AP', 'created_at': datetime.datetime(2025, 8, 27, 16, 37, 12, 278360), 'updated_at': datetime.datetime(2025, 8, 27, 16, 37, 12, 278784)}, {'date': '2025-08-14', 'variety': 'AP', 'fut_name': '苹果', 'warehouse': '烟台联盛', 'receipt_pre': 'None', 'receipt': 0.0, 'receipt_chg': '0', 'unit': '张', 'comd': 'AP', 'created_at': datetime.datetime(2025, 8, 27, 16, 37, 12, 278360), 'updated_at': datetime.datetime(2025, 8, 27, 16, 37, 12, 278784)}  ... displaying 10 of 428 total bound parameter sets ...  {'date': '2025-08-14', 'variety': 'SR', 'fut_name': '白糖', 'warehouse': '藁城永安', 'receipt_pre': 'None', 'receipt': 2744.0, 'receipt_chg': '-50', 'unit': '张', 'comd': 'SR', 'created_at': datetime.datetime(2025, 8, 27, 16, 37, 12, 278360), 'updated_at': datetime.datetime(2025, 8, 27, 16, 37, 12, 278784)}, {'date': '2025-08-14', 'variety': 'SR', 'fut_name': '白糖', 'warehouse': '驮卢东亚(厂库)', 'receipt_pre': 'None', 'receipt': 0.0, 'receipt_chg': '0', 'unit': '张', 'comd': 'SR', 'created_at': datetime.datetime(2025, 8, 27, 16, 37, 12, 278360), 'updated_at': datetime.datetime(2025, 8, 27, 16, 37, 12, 278784)}]]
(Background on this error at: https://sqlalche.me/e/20/9h9h)
=========================================================================
2025-08-27 18:25:31 Wed	START TASK.01	future_1d  future_receipt
=========================================================================
2025-08-27 18:25:33,890 - future_1d - INFO - future_receipt check=True check_last=15 start...
2025-08-27 18:25:41,317 - future_1d - INFO - pro.fut_wsr(trade_date=2025-08-07) done
2025-08-27 18:25:42,205 - future_1d - INFO - save future_receipt 2025-08-07 add
2025-08-27 18:25:42,213 - future_1d - INFO -                                       0  ...                           4
date                         2025-08-07  ...                  2025-08-07
variety                              AP  ...                          AP
fut_name                             苹果  ...                          苹果
warehouse                          富县子午  ...                        洛川延刚
receipt_pre                         NaN  ...                         NaN
receipt                             0.0  ...                         NaN
receipt_chg                           0  ...                           0
unit                                  张  ...                           张
comd                                 AP  ...                          AP
created_at   2025-08-27 18:25:42.116958  ...  2025-08-27 18:25:42.116958
updated_at   2025-08-27 18:25:42.117375  ...  2025-08-27 18:25:42.117375

[11 rows x 5 columns]
2025-08-27 18:26:10,229 - future_1d - INFO - pro.fut_wsr(trade_date=2025-08-08) done
2025-08-27 18:26:11,080 - future_1d - INFO - save future_receipt 2025-08-08 add
2025-08-27 18:26:11,087 - future_1d - INFO -                                       0  ...                           4
date                         2025-08-08  ...                  2025-08-08
variety                              AP  ...                          AP
fut_name                             苹果  ...                          苹果
warehouse                          富县子午  ...                        洛川延刚
receipt_pre                         NaN  ...                         NaN
receipt                             0.0  ...                         NaN
receipt_chg                           0  ...                           0
unit                                  张  ...                           张
comd                                 AP  ...                          AP
created_at   2025-08-27 18:26:10.994191  ...  2025-08-27 18:26:10.994191
updated_at   2025-08-27 18:26:10.994617  ...  2025-08-27 18:26:10.994617

[11 rows x 5 columns]
Traceback (most recent call last):
  File "/root/project/future_1d/future1d_request.py", line 704, in save_future_receipt
    df_comd = pro.fut_wsr(trade_date=td.strftime('%Y%m%d'), symbol=comd.upper())
  File "/usr/local/lib/python3.10/site-packages/tushare/pro/client.py", line 44, in query
    raise Exception(result['msg'])
Exception: 抱歉,您每分钟最多访问该接口200次,权限的具体详情访问:https://tushare.pro/document/1?doc_id=108。
An error occurred: 抱歉,您每分钟最多访问该接口200次,权限的具体详情访问:https://tushare.pro/document/1?doc_id=108。
2025-08-27 18:26:33,572 - future_1d - INFO - pro.fut_wsr(trade_date=2025-08-11 failed
2025-08-27 18:26:34,344 - future_1d - INFO - save future_receipt 2025-08-11 add
2025-08-27 18:26:34,352 - future_1d - INFO -                                       0  ...                           4
date                         2025-08-11  ...                  2025-08-11
variety                              AP  ...                          AP
fut_name                             苹果  ...                          苹果
warehouse                          富县子午  ...                        洛川延刚
receipt_pre                        None  ...                        None
receipt                             0.0  ...                         NaN
receipt_chg                           0  ...                           0
unit                                  张  ...                           张
comd                                 AP  ...                          AP
created_at   2025-08-27 18:26:34.280611  ...  2025-08-27 18:26:34.280611
updated_at   2025-08-27 18:26:34.281032  ...  2025-08-27 18:26:34.281032

[11 rows x 5 columns]
2025-08-27 18:26:58,877 - future_1d - INFO - pro.fut_wsr(trade_date=2025-08-12) done
2025-08-27 18:26:59,794 - future_1d - INFO - save future_receipt 2025-08-12 add
2025-08-27 18:26:59,801 - future_1d - INFO -                                       0  ...                           4
date                         2025-08-12  ...                  2025-08-12
variety                              AP  ...                          AP
fut_name                             苹果  ...                          苹果
warehouse                          富县子午  ...                        洛川延刚
receipt_pre                         NaN  ...                         NaN
receipt                             0.0  ...                         NaN
receipt_chg                           0  ...                           0
unit                                  张  ...                           张
comd                                 AP  ...                          AP
created_at   2025-08-27 18:26:59.688761  ...  2025-08-27 18:26:59.688761
updated_at   2025-08-27 18:26:59.689164  ...  2025-08-27 18:26:59.689164

[11 rows x 5 columns]
2025-08-27 18:27:30,020 - future_1d - INFO - pro.fut_wsr(trade_date=2025-08-13) done
2025-08-27 18:27:30,939 - future_1d - INFO - save future_receipt 2025-08-13 add
2025-08-27 18:27:30,947 - future_1d - INFO -                                       0  ...                           4
date                         2025-08-13  ...                  2025-08-13
variety                              AP  ...                          AP
fut_name                             苹果  ...                          苹果
warehouse                          富县子午  ...                        洛川延刚
receipt_pre                         NaN  ...                         NaN
receipt                             0.0  ...                         NaN
receipt_chg                           0  ...                           0
unit                                  张  ...                           张
comd                                 AP  ...                          AP
created_at   2025-08-27 18:27:30.835501  ...  2025-08-27 18:27:30.835501
updated_at   2025-08-27 18:27:30.835920  ...  2025-08-27 18:27:30.835920

[11 rows x 5 columns]
Traceback (most recent call last):
  File "/root/project/future_1d/future1d_request.py", line 704, in save_future_receipt
    df_comd = pro.fut_wsr(trade_date=td.strftime('%Y%m%d'), symbol=comd.upper())
  File "/usr/local/lib/python3.10/site-packages/tushare/pro/client.py", line 44, in query
    raise Exception(result['msg'])
Exception: 抱歉,您每分钟最多访问该接口200次,权限的具体详情访问:https://tushare.pro/document/1?doc_id=108。
An error occurred: 抱歉,您每分钟最多访问该接口200次,权限的具体详情访问:https://tushare.pro/document/1?doc_id=108。
2025-08-27 18:27:52,424 - future_1d - INFO - pro.fut_wsr(trade_date=2025-08-14 failed
Traceback (most recent call last):
  File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1936, in _exec_single_context
    self.dialect.do_executemany(
  File "/usr/local/lib/python3.10/site-packages/sqlalchemy/dialects/mysql/mysqldb.py", line 196, in do_executemany
    rowcount = cursor.executemany(statement, parameters)
  File "/usr/local/lib/python3.10/site-packages/pymysql/cursors.py", line 187, in executemany
    return self._do_execute_many(
  File "/usr/local/lib/python3.10/site-packages/pymysql/cursors.py", line 225, in _do_execute_many
    rows += self.execute(sql + postfix)
  File "/usr/local/lib/python3.10/site-packages/pymysql/cursors.py", line 158, in execute
    result = self._query(query)
  File "/usr/local/lib/python3.10/site-packages/pymysql/cursors.py", line 325, in _query
    conn.query(q)
  File "/usr/local/lib/python3.10/site-packages/pymysql/connections.py", line 549, in query
    self._affected_rows = self._read_query_result(unbuffered=unbuffered)
  File "/usr/local/lib/python3.10/site-packages/pymysql/connections.py", line 779, in _read_query_result
    result.read()
  File "/usr/local/lib/python3.10/site-packages/pymysql/connections.py", line 1157, in read
    first_packet = self.connection._read_packet()
  File "/usr/local/lib/python3.10/site-packages/pymysql/connections.py", line 729, in _read_packet
    packet.raise_for_error()
  File "/usr/local/lib/python3.10/site-packages/pymysql/protocol.py", line 221, in raise_for_error
    err.raise_mysql_exception(self._data)
  File "/usr/local/lib/python3.10/site-packages/pymysql/err.py", line 143, in raise_mysql_exception
    raise errorclass(errno, errval)
pymysql.err.DataError: (1366, "Incorrect decimal value: 'None' for column 'receipt_pre' at row 1")

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/root/project/future_1d/future_receipt.py", line 7, in 
    client.save_future_receipt(check=True, check_last=15)
  File "/root/project/future_1d/future1d_request.py", line 723, in save_future_receipt
    data_add.to_sql(tablebase.__tablename__, self.engine, index=False, if_exists='append', chunksize=1000)
  File "/usr/local/lib/python3.10/site-packages/pandas/util/_decorators.py", line 333, in wrapper
    return func(*args, **kwargs)
  File "/usr/local/lib/python3.10/site-packages/pandas/core/generic.py", line 3106, in to_sql
    return sql.to_sql(
  File "/usr/local/lib/python3.10/site-packages/pandas/io/sql.py", line 844, in to_sql
    return pandas_sql.to_sql(
  File "/usr/local/lib/python3.10/site-packages/pandas/io/sql.py", line 2030, in to_sql
    total_inserted = sql_engine.insert_records(
  File "/usr/local/lib/python3.10/site-packages/pandas/io/sql.py", line 1579, in insert_records
    raise err
  File "/usr/local/lib/python3.10/site-packages/pandas/io/sql.py", line 1570, in insert_records
    return table.insert(chunksize=chunksize, method=method)
  File "/usr/local/lib/python3.10/site-packages/pandas/io/sql.py", line 1121, in insert
    num_inserted = exec_insert(conn, keys, chunk_iter)
  File "/usr/local/lib/python3.10/site-packages/pandas/io/sql.py", line 1012, in _execute_insert
    result = conn.execute(self.table.insert(), data)
  File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1419, in execute
    return meth(
  File "/usr/local/lib/python3.10/site-packages/sqlalchemy/sql/elements.py", line 526, in _execute_on_connection
    return connection._execute_clauseelement(
  File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1641, in _execute_clauseelement
    ret = self._execute_context(
  File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1846, in _execute_context
    return self._exec_single_context(
  File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1986, in _exec_single_context
    self._handle_dbapi_exception(
  File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 2355, in _handle_dbapi_exception
    raise sqlalchemy_exception.with_traceback(exc_info[2]) from e
  File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1936, in _exec_single_context
    self.dialect.do_executemany(
  File "/usr/local/lib/python3.10/site-packages/sqlalchemy/dialects/mysql/mysqldb.py", line 196, in do_executemany
    rowcount = cursor.executemany(statement, parameters)
  File "/usr/local/lib/python3.10/site-packages/pymysql/cursors.py", line 187, in executemany
    return self._do_execute_many(
  File "/usr/local/lib/python3.10/site-packages/pymysql/cursors.py", line 225, in _do_execute_many
    rows += self.execute(sql + postfix)
  File "/usr/local/lib/python3.10/site-packages/pymysql/cursors.py", line 158, in execute
    result = self._query(query)
  File "/usr/local/lib/python3.10/site-packages/pymysql/cursors.py", line 325, in _query
    conn.query(q)
  File "/usr/local/lib/python3.10/site-packages/pymysql/connections.py", line 549, in query
    self._affected_rows = self._read_query_result(unbuffered=unbuffered)
  File "/usr/local/lib/python3.10/site-packages/pymysql/connections.py", line 779, in _read_query_result
    result.read()
  File "/usr/local/lib/python3.10/site-packages/pymysql/connections.py", line 1157, in read
    first_packet = self.connection._read_packet()
  File "/usr/local/lib/python3.10/site-packages/pymysql/connections.py", line 729, in _read_packet
    packet.raise_for_error()
  File "/usr/local/lib/python3.10/site-packages/pymysql/protocol.py", line 221, in raise_for_error
    err.raise_mysql_exception(self._data)
  File "/usr/local/lib/python3.10/site-packages/pymysql/err.py", line 143, in raise_mysql_exception
    raise errorclass(errno, errval)
sqlalchemy.exc.DataError: (pymysql.err.DataError) (1366, "Incorrect decimal value: 'None' for column 'receipt_pre' at row 1")
[SQL: INSERT INTO future_receipt (date, variety, fut_name, warehouse, receipt_pre, receipt, receipt_chg, unit, comd, created_at, updated_at) VALUES (%(date)s, %(variety)s, %(fut_name)s, %(warehouse)s, %(receipt_pre)s, %(receipt)s, %(receipt_chg)s, %(unit)s, %(comd)s, %(created_at)s, %(updated_at)s)]
[parameters: [{'date': '2025-08-14', 'variety': 'AP', 'fut_name': '苹果', 'warehouse': '富县子午', 'receipt_pre': 'None', 'receipt': 0.0, 'receipt_chg': '0', 'unit': '张', 'comd': 'AP', 'created_at': datetime.datetime(2025, 8, 27, 18, 27, 53, 106995), 'updated_at': datetime.datetime(2025, 8, 27, 18, 27, 53, 107404)}, {'date': '2025-08-14', 'variety': 'AP', 'fut_name': '苹果', 'warehouse': '延安农投', 'receipt_pre': 'None', 'receipt': None, 'receipt_chg': '0', 'unit': '张', 'comd': 'AP', 'created_at': datetime.datetime(2025, 8, 27, 18, 27, 53, 106995), 'updated_at': datetime.datetime(2025, 8, 27, 18, 27, 53, 107404)}, {'date': '2025-08-14', 'variety': 'AP', 'fut_name': '苹果', 'warehouse': '延长果业', 'receipt_pre': 'None', 'receipt': 0.0, 'receipt_chg': '0', 'unit': '张', 'comd': 'AP', 'created_at': datetime.datetime(2025, 8, 27, 18, 27, 53, 106995), 'updated_at': datetime.datetime(2025, 8, 27, 18, 27, 53, 107404)}, {'date': '2025-08-14', 'variety': 'AP', 'fut_name': '苹果', 'warehouse': '栖霞德丰', 'receipt_pre': 'None', 'receipt': 0.0, 'receipt_chg': '0', 'unit': '张', 'comd': 'AP', 'created_at': datetime.datetime(2025, 8, 27, 18, 27, 53, 106995), 'updated_at': datetime.datetime(2025, 8, 27, 18, 27, 53, 107404)}, {'date': '2025-08-14', 'variety': 'AP', 'fut_name': '苹果', 'warehouse': '洛川延刚', 'receipt_pre': 'None', 'receipt': None, 'receipt_chg': '0', 'unit': '张', 'comd': 'AP', 'created_at': datetime.datetime(2025, 8, 27, 18, 27, 53, 106995), 'updated_at': datetime.datetime(2025, 8, 27, 18, 27, 53, 107404)}, {'date': '2025-08-14', 'variety': 'AP', 'fut_name': '苹果', 'warehouse': '渭南天顺', 'receipt_pre': 'None', 'receipt': 0.0, 'receipt_chg': '0', 'unit': '张', 'comd': 'AP', 'created_at': datetime.datetime(2025, 8, 27, 18, 27, 53, 106995), 'updated_at': datetime.datetime(2025, 8, 27, 18, 27, 53, 107404)}, {'date': '2025-08-14', 'variety': 'AP', 'fut_name': '苹果', 'warehouse': '烟台玉益', 'receipt_pre': 'None', 'receipt': None, 'receipt_chg': '0', 'unit': '张', 'comd': 'AP', 'created_at': datetime.datetime(2025, 8, 27, 18, 27, 53, 106995), 'updated_at': datetime.datetime(2025, 8, 27, 18, 27, 53, 107404)}, {'date': '2025-08-14', 'variety': 'AP', 'fut_name': '苹果', 'warehouse': '烟台联盛', 'receipt_pre': 'None', 'receipt': 0.0, 'receipt_chg': '0', 'unit': '张', 'comd': 'AP', 'created_at': datetime.datetime(2025, 8, 27, 18, 27, 53, 106995), 'updated_at': datetime.datetime(2025, 8, 27, 18, 27, 53, 107404)}  ... displaying 10 of 428 total bound parameter sets ...  {'date': '2025-08-14', 'variety': 'SR', 'fut_name': '白糖', 'warehouse': '藁城永安', 'receipt_pre': 'None', 'receipt': 2744.0, 'receipt_chg': '-50', 'unit': '张', 'comd': 'SR', 'created_at': datetime.datetime(2025, 8, 27, 18, 27, 53, 106995), 'updated_at': datetime.datetime(2025, 8, 27, 18, 27, 53, 107404)}, {'date': '2025-08-14', 'variety': 'SR', 'fut_name': '白糖', 'warehouse': '驮卢东亚(厂库)', 'receipt_pre': 'None', 'receipt': 0.0, 'receipt_chg': '0', 'unit': '张', 'comd': 'SR', 'created_at': datetime.datetime(2025, 8, 27, 18, 27, 53, 106995), 'updated_at': datetime.datetime(2025, 8, 27, 18, 27, 53, 107404)}]]
(Background on this error at: https://sqlalche.me/e/20/9h9h)
=========================================================================
2025-08-27 18:28:36 Wed	START TASK.01	future_1d  future_receipt
=========================================================================
2025-08-27 18:28:37,971 - future_1d - INFO - future_receipt check=True check_last=15 start...
2025-08-27 18:28:46,689 - future_1d - INFO - pro.fut_wsr(trade_date=2025-08-07) done
2025-08-27 18:28:47,580 - future_1d - INFO - save future_receipt 2025-08-07 add
2025-08-27 18:28:47,588 - future_1d - INFO -                                       0  ...                           4
date                         2025-08-07  ...                  2025-08-07
variety                              AP  ...                          AP
fut_name                             苹果  ...                          苹果
warehouse                          富县子午  ...                        洛川延刚
receipt_pre                         NaN  ...                         NaN
receipt                             0.0  ...                         NaN
receipt_chg                           0  ...                           0
unit                                  张  ...                           张
comd                                 AP  ...                          AP
created_at   2025-08-27 18:28:47.492132  ...  2025-08-27 18:28:47.492132
updated_at   2025-08-27 18:28:47.492547  ...  2025-08-27 18:28:47.492547

[11 rows x 5 columns]
2025-08-27 18:29:13,956 - future_1d - INFO - pro.fut_wsr(trade_date=2025-08-08) done
2025-08-27 18:29:14,852 - future_1d - INFO - save future_receipt 2025-08-08 add
2025-08-27 18:29:14,860 - future_1d - INFO -                                       0  ...                           4
date                         2025-08-08  ...                  2025-08-08
variety                              AP  ...                          AP
fut_name                             苹果  ...                          苹果
warehouse                          富县子午  ...                        洛川延刚
receipt_pre                         NaN  ...                         NaN
receipt                             0.0  ...                         NaN
receipt_chg                           0  ...                           0
unit                                  张  ...                           张
comd                                 AP  ...                          AP
created_at   2025-08-27 18:29:14.761442  ...  2025-08-27 18:29:14.761442
updated_at   2025-08-27 18:29:14.761870  ...  2025-08-27 18:29:14.761870

[11 rows x 5 columns]
Traceback (most recent call last):
  File "/root/project/future_1d/future1d_request.py", line 704, in save_future_receipt
    df_comd = pro.fut_wsr(trade_date=td.strftime('%Y%m%d'), symbol=comd.upper())
  File "/usr/local/lib/python3.10/site-packages/tushare/pro/client.py", line 44, in query
    raise Exception(result['msg'])
Exception: 抱歉,您每分钟最多访问该接口200次,权限的具体详情访问:https://tushare.pro/document/1?doc_id=108。
An error occurred: 抱歉,您每分钟最多访问该接口200次,权限的具体详情访问:https://tushare.pro/document/1?doc_id=108。
2025-08-27 18:29:36,147 - future_1d - INFO - pro.fut_wsr(trade_date=2025-08-11 failed
2025-08-27 18:29:36,944 - future_1d - INFO - save future_receipt 2025-08-11 add
2025-08-27 18:29:36,951 - future_1d - INFO -                                       0  ...                           4
date                         2025-08-11  ...                  2025-08-11
variety                              AP  ...                          AP
fut_name                             苹果  ...                          苹果
warehouse                          富县子午  ...                        洛川延刚
receipt_pre                        None  ...                        None
receipt                             0.0  ...                         NaN
receipt_chg                           0  ...                           0
unit                                  张  ...                           张
comd                                 AP  ...                          AP
created_at   2025-08-27 18:29:36.878554  ...  2025-08-27 18:29:36.878554
updated_at   2025-08-27 18:29:36.878969  ...  2025-08-27 18:29:36.878969

[11 rows x 5 columns]
2025-08-27 18:30:06,661 - future_1d - INFO - pro.fut_wsr(trade_date=2025-08-12) done
2025-08-27 18:30:07,610 - future_1d - INFO - save future_receipt 2025-08-12 add
2025-08-27 18:30:07,617 - future_1d - INFO -                                       0  ...                           4
date                         2025-08-12  ...                  2025-08-12
variety                              AP  ...                          AP
fut_name                             苹果  ...                          苹果
warehouse                          富县子午  ...                        洛川延刚
receipt_pre                         NaN  ...                         NaN
receipt                             0.0  ...                         NaN
receipt_chg                           0  ...                           0
unit                                  张  ...                           张
comd                                 AP  ...                          AP
created_at   2025-08-27 18:30:07.506638  ...  2025-08-27 18:30:07.506638
updated_at   2025-08-27 18:30:07.507015  ...  2025-08-27 18:30:07.507015

[11 rows x 5 columns]
2025-08-27 18:30:41,308 - future_1d - INFO - pro.fut_wsr(trade_date=2025-08-13) done
2025-08-27 18:30:42,315 - future_1d - INFO - save future_receipt 2025-08-13 add
2025-08-27 18:30:42,322 - future_1d - INFO -                                       0  ...                           4
date                         2025-08-13  ...                  2025-08-13
variety                              AP  ...                          AP
fut_name                             苹果  ...                          苹果
warehouse                          富县子午  ...                        洛川延刚
receipt_pre                         NaN  ...                         NaN
receipt                             0.0  ...                         NaN
receipt_chg                           0  ...                           0
unit                                  张  ...                           张
comd                                 AP  ...                          AP
created_at   2025-08-27 18:30:42.208968  ...  2025-08-27 18:30:42.208968
updated_at   2025-08-27 18:30:42.209364  ...  2025-08-27 18:30:42.209364

[11 rows x 5 columns]
2025-08-27 18:31:11,058 - future_1d - INFO - pro.fut_wsr(trade_date=2025-08-14) done
2025-08-27 18:31:11,824 - future_1d - INFO - save future_receipt 2025-08-14 add
2025-08-27 18:31:11,831 - future_1d - INFO -                                       0  ...                           4
date                         2025-08-14  ...                  2025-08-14
variety                              AP  ...                          AP
fut_name                             苹果  ...                          苹果
warehouse                          富县子午  ...                        洛川延刚
receipt_pre                         NaN  ...                         NaN
receipt                             0.0  ...                         NaN
receipt_chg                           0  ...                           0
unit                                  张  ...                           张
comd                                 AP  ...                          AP
created_at   2025-08-27 18:31:11.724390  ...  2025-08-27 18:31:11.724390
updated_at   2025-08-27 18:31:11.724811  ...  2025-08-27 18:31:11.724811

[11 rows x 5 columns]
2025-08-27 18:31:41,568 - future_1d - INFO - pro.fut_wsr(trade_date=2025-08-15) done
Traceback (most recent call last):
  File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1936, in _exec_single_context
    self.dialect.do_executemany(
  File "/usr/local/lib/python3.10/site-packages/sqlalchemy/dialects/mysql/mysqldb.py", line 196, in do_executemany
    rowcount = cursor.executemany(statement, parameters)
  File "/usr/local/lib/python3.10/site-packages/pymysql/cursors.py", line 187, in executemany
    return self._do_execute_many(
  File "/usr/local/lib/python3.10/site-packages/pymysql/cursors.py", line 225, in _do_execute_many
    rows += self.execute(sql + postfix)
  File "/usr/local/lib/python3.10/site-packages/pymysql/cursors.py", line 158, in execute
    result = self._query(query)
  File "/usr/local/lib/python3.10/site-packages/pymysql/cursors.py", line 325, in _query
    conn.query(q)
  File "/usr/local/lib/python3.10/site-packages/pymysql/connections.py", line 549, in query
    self._affected_rows = self._read_query_result(unbuffered=unbuffered)
  File "/usr/local/lib/python3.10/site-packages/pymysql/connections.py", line 779, in _read_query_result
    result.read()
  File "/usr/local/lib/python3.10/site-packages/pymysql/connections.py", line 1157, in read
    first_packet = self.connection._read_packet()
  File "/usr/local/lib/python3.10/site-packages/pymysql/connections.py", line 729, in _read_packet
    packet.raise_for_error()
  File "/usr/local/lib/python3.10/site-packages/pymysql/protocol.py", line 221, in raise_for_error
    err.raise_mysql_exception(self._data)
  File "/usr/local/lib/python3.10/site-packages/pymysql/err.py", line 143, in raise_mysql_exception
    raise errorclass(errno, errval)
pymysql.err.DataError: (1366, "Incorrect decimal value: 'nan' for column 'receipt_pre' at row 1")

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/root/project/future_1d/future_receipt.py", line 7, in 
    client.save_future_receipt(check=True, check_last=15)
  File "/root/project/future_1d/future1d_request.py", line 723, in save_future_receipt
    data_add.to_sql(tablebase.__tablename__, self.engine, index=False, if_exists='append', chunksize=1000)
  File "/usr/local/lib/python3.10/site-packages/pandas/util/_decorators.py", line 333, in wrapper
    return func(*args, **kwargs)
  File "/usr/local/lib/python3.10/site-packages/pandas/core/generic.py", line 3106, in to_sql
    return sql.to_sql(
  File "/usr/local/lib/python3.10/site-packages/pandas/io/sql.py", line 844, in to_sql
    return pandas_sql.to_sql(
  File "/usr/local/lib/python3.10/site-packages/pandas/io/sql.py", line 2030, in to_sql
    total_inserted = sql_engine.insert_records(
  File "/usr/local/lib/python3.10/site-packages/pandas/io/sql.py", line 1579, in insert_records
    raise err
  File "/usr/local/lib/python3.10/site-packages/pandas/io/sql.py", line 1570, in insert_records
    return table.insert(chunksize=chunksize, method=method)
  File "/usr/local/lib/python3.10/site-packages/pandas/io/sql.py", line 1121, in insert
    num_inserted = exec_insert(conn, keys, chunk_iter)
  File "/usr/local/lib/python3.10/site-packages/pandas/io/sql.py", line 1012, in _execute_insert
    result = conn.execute(self.table.insert(), data)
  File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1419, in execute
    return meth(
  File "/usr/local/lib/python3.10/site-packages/sqlalchemy/sql/elements.py", line 526, in _execute_on_connection
    return connection._execute_clauseelement(
  File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1641, in _execute_clauseelement
    ret = self._execute_context(
  File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1846, in _execute_context
    return self._exec_single_context(
  File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1986, in _exec_single_context
    self._handle_dbapi_exception(
  File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 2355, in _handle_dbapi_exception
    raise sqlalchemy_exception.with_traceback(exc_info[2]) from e
  File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1936, in _exec_single_context
    self.dialect.do_executemany(
  File "/usr/local/lib/python3.10/site-packages/sqlalchemy/dialects/mysql/mysqldb.py", line 196, in do_executemany
    rowcount = cursor.executemany(statement, parameters)
  File "/usr/local/lib/python3.10/site-packages/pymysql/cursors.py", line 187, in executemany
    return self._do_execute_many(
  File "/usr/local/lib/python3.10/site-packages/pymysql/cursors.py", line 225, in _do_execute_many
    rows += self.execute(sql + postfix)
  File "/usr/local/lib/python3.10/site-packages/pymysql/cursors.py", line 158, in execute
    result = self._query(query)
  File "/usr/local/lib/python3.10/site-packages/pymysql/cursors.py", line 325, in _query
    conn.query(q)
  File "/usr/local/lib/python3.10/site-packages/pymysql/connections.py", line 549, in query
    self._affected_rows = self._read_query_result(unbuffered=unbuffered)
  File "/usr/local/lib/python3.10/site-packages/pymysql/connections.py", line 779, in _read_query_result
    result.read()
  File "/usr/local/lib/python3.10/site-packages/pymysql/connections.py", line 1157, in read
    first_packet = self.connection._read_packet()
  File "/usr/local/lib/python3.10/site-packages/pymysql/connections.py", line 729, in _read_packet
    packet.raise_for_error()
  File "/usr/local/lib/python3.10/site-packages/pymysql/protocol.py", line 221, in raise_for_error
    err.raise_mysql_exception(self._data)
  File "/usr/local/lib/python3.10/site-packages/pymysql/err.py", line 143, in raise_mysql_exception
    raise errorclass(errno, errval)
sqlalchemy.exc.DataError: (pymysql.err.DataError) (1366, "Incorrect decimal value: 'nan' for column 'receipt_pre' at row 1")
[SQL: INSERT INTO future_receipt (date, variety, fut_name, warehouse, receipt_pre, receipt, receipt_chg, unit, comd, created_at, updated_at) VALUES (%(date)s, %(variety)s, %(fut_name)s, %(warehouse)s, %(receipt_pre)s, %(receipt)s, %(receipt_chg)s, %(unit)s, %(comd)s, %(created_at)s, %(updated_at)s)]
[parameters: [{'date': '2025-08-15', 'variety': 'AP', 'fut_name': '苹果', 'warehouse': '富县子午', 'receipt_pre': 'nan', 'receipt': '0.0', 'receipt_chg': '0', 'unit': '张', 'comd': 'AP', 'created_at': datetime.datetime(2025, 8, 27, 18, 31, 42, 194359), 'updated_at': datetime.datetime(2025, 8, 27, 18, 31, 42, 194797)}, {'date': '2025-08-15', 'variety': 'AP', 'fut_name': '苹果', 'warehouse': '延安农投', 'receipt_pre': 'nan', 'receipt': 'nan', 'receipt_chg': '0', 'unit': '张', 'comd': 'AP', 'created_at': datetime.datetime(2025, 8, 27, 18, 31, 42, 194359), 'updated_at': datetime.datetime(2025, 8, 27, 18, 31, 42, 194797)}, {'date': '2025-08-15', 'variety': 'AP', 'fut_name': '苹果', 'warehouse': '延长果业', 'receipt_pre': 'nan', 'receipt': '0.0', 'receipt_chg': '0', 'unit': '张', 'comd': 'AP', 'created_at': datetime.datetime(2025, 8, 27, 18, 31, 42, 194359), 'updated_at': datetime.datetime(2025, 8, 27, 18, 31, 42, 194797)}, {'date': '2025-08-15', 'variety': 'AP', 'fut_name': '苹果', 'warehouse': '栖霞德丰', 'receipt_pre': 'nan', 'receipt': '0.0', 'receipt_chg': '0', 'unit': '张', 'comd': 'AP', 'created_at': datetime.datetime(2025, 8, 27, 18, 31, 42, 194359), 'updated_at': datetime.datetime(2025, 8, 27, 18, 31, 42, 194797)}, {'date': '2025-08-15', 'variety': 'AP', 'fut_name': '苹果', 'warehouse': '洛川延刚', 'receipt_pre': 'nan', 'receipt': 'nan', 'receipt_chg': '0', 'unit': '张', 'comd': 'AP', 'created_at': datetime.datetime(2025, 8, 27, 18, 31, 42, 194359), 'updated_at': datetime.datetime(2025, 8, 27, 18, 31, 42, 194797)}, {'date': '2025-08-15', 'variety': 'AP', 'fut_name': '苹果', 'warehouse': '渭南天顺', 'receipt_pre': 'nan', 'receipt': '0.0', 'receipt_chg': '0', 'unit': '张', 'comd': 'AP', 'created_at': datetime.datetime(2025, 8, 27, 18, 31, 42, 194359), 'updated_at': datetime.datetime(2025, 8, 27, 18, 31, 42, 194797)}, {'date': '2025-08-15', 'variety': 'AP', 'fut_name': '苹果', 'warehouse': '烟台玉益', 'receipt_pre': 'nan', 'receipt': 'nan', 'receipt_chg': '0', 'unit': '张', 'comd': 'AP', 'created_at': datetime.datetime(2025, 8, 27, 18, 31, 42, 194359), 'updated_at': datetime.datetime(2025, 8, 27, 18, 31, 42, 194797)}, {'date': '2025-08-15', 'variety': 'AP', 'fut_name': '苹果', 'warehouse': '烟台联盛', 'receipt_pre': 'nan', 'receipt': '0.0', 'receipt_chg': '0', 'unit': '张', 'comd': 'AP', 'created_at': datetime.datetime(2025, 8, 27, 18, 31, 42, 194359), 'updated_at': datetime.datetime(2025, 8, 27, 18, 31, 42, 194797)}  ... displaying 10 of 893 total bound parameter sets ...  {'date': '2025-08-15', 'variety': 'PR', 'fut_name': '瓶片', 'warehouse': '珠海华润(厂库)', 'receipt_pre': 'nan', 'receipt': '0.0', 'receipt_chg': '0', 'unit': '张', 'comd': 'PR', 'created_at': datetime.datetime(2025, 8, 27, 18, 31, 42, 194359), 'updated_at': datetime.datetime(2025, 8, 27, 18, 31, 42, 194797)}, {'date': '2025-08-15', 'variety': 'PR', 'fut_name': '瓶片', 'warehouse': '逸盛大化(厂库)', 'receipt_pre': 'nan', 'receipt': '583.0', 'receipt_chg': '0', 'unit': '张', 'comd': 'PR', 'created_at': datetime.datetime(2025, 8, 27, 18, 31, 42, 194359), 'updated_at': datetime.datetime(2025, 8, 27, 18, 31, 42, 194797)}]]
(Background on this error at: https://sqlalche.me/e/20/9h9h)
=========================================================================
2025-08-27 18:32:39 Wed	START TASK.01	future_1d  future_receipt
=========================================================================
2025-08-27 18:32:41,789 - future_1d - INFO - future_receipt check=True check_last=15 start...
2025-08-27 18:32:51,739 - future_1d - INFO - pro.fut_wsr(trade_date=2025-08-07) done
2025-08-27 18:32:52,666 - future_1d - INFO - save future_receipt 2025-08-07 add
2025-08-27 18:32:52,674 - future_1d - INFO -                                       0  ...                           4
date                         2025-08-07  ...                  2025-08-07
variety                              AP  ...                          AP
fut_name                             苹果  ...                          苹果
warehouse                          富县子午  ...                        洛川延刚
receipt_pre                         NaN  ...                         NaN
receipt                             0.0  ...                         NaN
receipt_chg                           0  ...                           0
unit                                  张  ...                           张
comd                                 AP  ...                          AP
created_at   2025-08-27 18:32:52.581018  ...  2025-08-27 18:32:52.581018
updated_at   2025-08-27 18:32:52.581451  ...  2025-08-27 18:32:52.581451

[11 rows x 5 columns]
2025-08-27 18:33:23,755 - future_1d - INFO - pro.fut_wsr(trade_date=2025-08-08) done
2025-08-27 18:33:24,655 - future_1d - INFO - save future_receipt 2025-08-08 add
2025-08-27 18:33:24,662 - future_1d - INFO -                                       0  ...                           4
date                         2025-08-08  ...                  2025-08-08
variety                              AP  ...                          AP
fut_name                             苹果  ...                          苹果
warehouse                          富县子午  ...                        洛川延刚
receipt_pre                         NaN  ...                         NaN
receipt                             0.0  ...                         NaN
receipt_chg                           0  ...                           0
unit                                  张  ...                           张
comd                                 AP  ...                          AP
created_at   2025-08-27 18:33:24.549302  ...  2025-08-27 18:33:24.549302
updated_at   2025-08-27 18:33:24.549727  ...  2025-08-27 18:33:24.549727

[11 rows x 5 columns]
2025-08-27 18:34:00,825 - future_1d - INFO - pro.fut_wsr(trade_date=2025-08-11) done
Traceback (most recent call last):
  File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1936, in _exec_single_context
    self.dialect.do_executemany(
  File "/usr/local/lib/python3.10/site-packages/sqlalchemy/dialects/mysql/mysqldb.py", line 196, in do_executemany
    rowcount = cursor.executemany(statement, parameters)
  File "/usr/local/lib/python3.10/site-packages/pymysql/cursors.py", line 187, in executemany
    return self._do_execute_many(
  File "/usr/local/lib/python3.10/site-packages/pymysql/cursors.py", line 225, in _do_execute_many
    rows += self.execute(sql + postfix)
  File "/usr/local/lib/python3.10/site-packages/pymysql/cursors.py", line 158, in execute
    result = self._query(query)
  File "/usr/local/lib/python3.10/site-packages/pymysql/cursors.py", line 325, in _query
    conn.query(q)
  File "/usr/local/lib/python3.10/site-packages/pymysql/connections.py", line 549, in query
    self._affected_rows = self._read_query_result(unbuffered=unbuffered)
  File "/usr/local/lib/python3.10/site-packages/pymysql/connections.py", line 779, in _read_query_result
    result.read()
  File "/usr/local/lib/python3.10/site-packages/pymysql/connections.py", line 1157, in read
    first_packet = self.connection._read_packet()
  File "/usr/local/lib/python3.10/site-packages/pymysql/connections.py", line 729, in _read_packet
    packet.raise_for_error()
  File "/usr/local/lib/python3.10/site-packages/pymysql/protocol.py", line 221, in raise_for_error
    err.raise_mysql_exception(self._data)
  File "/usr/local/lib/python3.10/site-packages/pymysql/err.py", line 143, in raise_mysql_exception
    raise errorclass(errno, errval)
pymysql.err.DataError: (1366, "Incorrect decimal value: 'nan' for column 'receipt_pre' at row 1")

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/root/project/future_1d/future_receipt.py", line 7, in 
    client.save_future_receipt(check=True, check_last=15)
  File "/root/project/future_1d/future1d_request.py", line 723, in save_future_receipt
    data_add.to_sql(tablebase.__tablename__, self.engine, index=False, if_exists='append', chunksize=1000)
  File "/usr/local/lib/python3.10/site-packages/pandas/util/_decorators.py", line 333, in wrapper
    return func(*args, **kwargs)
  File "/usr/local/lib/python3.10/site-packages/pandas/core/generic.py", line 3106, in to_sql
    return sql.to_sql(
  File "/usr/local/lib/python3.10/site-packages/pandas/io/sql.py", line 844, in to_sql
    return pandas_sql.to_sql(
  File "/usr/local/lib/python3.10/site-packages/pandas/io/sql.py", line 2030, in to_sql
    total_inserted = sql_engine.insert_records(
  File "/usr/local/lib/python3.10/site-packages/pandas/io/sql.py", line 1579, in insert_records
    raise err
  File "/usr/local/lib/python3.10/site-packages/pandas/io/sql.py", line 1570, in insert_records
    return table.insert(chunksize=chunksize, method=method)
  File "/usr/local/lib/python3.10/site-packages/pandas/io/sql.py", line 1121, in insert
    num_inserted = exec_insert(conn, keys, chunk_iter)
  File "/usr/local/lib/python3.10/site-packages/pandas/io/sql.py", line 1012, in _execute_insert
    result = conn.execute(self.table.insert(), data)
  File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1419, in execute
    return meth(
  File "/usr/local/lib/python3.10/site-packages/sqlalchemy/sql/elements.py", line 526, in _execute_on_connection
    return connection._execute_clauseelement(
  File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1641, in _execute_clauseelement
    ret = self._execute_context(
  File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1846, in _execute_context
    return self._exec_single_context(
  File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1986, in _exec_single_context
    self._handle_dbapi_exception(
  File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 2355, in _handle_dbapi_exception
    raise sqlalchemy_exception.with_traceback(exc_info[2]) from e
  File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1936, in _exec_single_context
    self.dialect.do_executemany(
  File "/usr/local/lib/python3.10/site-packages/sqlalchemy/dialects/mysql/mysqldb.py", line 196, in do_executemany
    rowcount = cursor.executemany(statement, parameters)
  File "/usr/local/lib/python3.10/site-packages/pymysql/cursors.py", line 187, in executemany
    return self._do_execute_many(
  File "/usr/local/lib/python3.10/site-packages/pymysql/cursors.py", line 225, in _do_execute_many
    rows += self.execute(sql + postfix)
  File "/usr/local/lib/python3.10/site-packages/pymysql/cursors.py", line 158, in execute
    result = self._query(query)
  File "/usr/local/lib/python3.10/site-packages/pymysql/cursors.py", line 325, in _query
    conn.query(q)
  File "/usr/local/lib/python3.10/site-packages/pymysql/connections.py", line 549, in query
    self._affected_rows = self._read_query_result(unbuffered=unbuffered)
  File "/usr/local/lib/python3.10/site-packages/pymysql/connections.py", line 779, in _read_query_result
    result.read()
  File "/usr/local/lib/python3.10/site-packages/pymysql/connections.py", line 1157, in read
    first_packet = self.connection._read_packet()
  File "/usr/local/lib/python3.10/site-packages/pymysql/connections.py", line 729, in _read_packet
    packet.raise_for_error()
  File "/usr/local/lib/python3.10/site-packages/pymysql/protocol.py", line 221, in raise_for_error
    err.raise_mysql_exception(self._data)
  File "/usr/local/lib/python3.10/site-packages/pymysql/err.py", line 143, in raise_mysql_exception
    raise errorclass(errno, errval)
sqlalchemy.exc.DataError: (pymysql.err.DataError) (1366, "Incorrect decimal value: 'nan' for column 'receipt_pre' at row 1")
[SQL: INSERT INTO future_receipt (date, variety, fut_name, warehouse, receipt_pre, receipt, receipt_chg, unit, comd, created_at, updated_at) VALUES (%(date)s, %(variety)s, %(fut_name)s, %(warehouse)s, %(receipt_pre)s, %(receipt)s, %(receipt_chg)s, %(unit)s, %(comd)s, %(created_at)s, %(updated_at)s)]
[parameters: [{'date': '2025-08-11', 'variety': 'AP', 'fut_name': '苹果', 'warehouse': '富县子午', 'receipt_pre': 'nan', 'receipt': 0.0, 'receipt_chg': '0', 'unit': '张', 'comd': 'AP', 'created_at': datetime.datetime(2025, 8, 27, 18, 34, 1, 576010), 'updated_at': datetime.datetime(2025, 8, 27, 18, 34, 1, 576422)}, {'date': '2025-08-11', 'variety': 'AP', 'fut_name': '苹果', 'warehouse': '延安农投', 'receipt_pre': 'nan', 'receipt': None, 'receipt_chg': '0', 'unit': '张', 'comd': 'AP', 'created_at': datetime.datetime(2025, 8, 27, 18, 34, 1, 576010), 'updated_at': datetime.datetime(2025, 8, 27, 18, 34, 1, 576422)}, {'date': '2025-08-11', 'variety': 'AP', 'fut_name': '苹果', 'warehouse': '延长果业', 'receipt_pre': 'nan', 'receipt': 0.0, 'receipt_chg': '0', 'unit': '张', 'comd': 'AP', 'created_at': datetime.datetime(2025, 8, 27, 18, 34, 1, 576010), 'updated_at': datetime.datetime(2025, 8, 27, 18, 34, 1, 576422)}, {'date': '2025-08-11', 'variety': 'AP', 'fut_name': '苹果', 'warehouse': '栖霞德丰', 'receipt_pre': 'nan', 'receipt': 0.0, 'receipt_chg': '0', 'unit': '张', 'comd': 'AP', 'created_at': datetime.datetime(2025, 8, 27, 18, 34, 1, 576010), 'updated_at': datetime.datetime(2025, 8, 27, 18, 34, 1, 576422)}, {'date': '2025-08-11', 'variety': 'AP', 'fut_name': '苹果', 'warehouse': '洛川延刚', 'receipt_pre': 'nan', 'receipt': None, 'receipt_chg': '0', 'unit': '张', 'comd': 'AP', 'created_at': datetime.datetime(2025, 8, 27, 18, 34, 1, 576010), 'updated_at': datetime.datetime(2025, 8, 27, 18, 34, 1, 576422)}, {'date': '2025-08-11', 'variety': 'AP', 'fut_name': '苹果', 'warehouse': '渭南天顺', 'receipt_pre': 'nan', 'receipt': 0.0, 'receipt_chg': '0', 'unit': '张', 'comd': 'AP', 'created_at': datetime.datetime(2025, 8, 27, 18, 34, 1, 576010), 'updated_at': datetime.datetime(2025, 8, 27, 18, 34, 1, 576422)}, {'date': '2025-08-11', 'variety': 'AP', 'fut_name': '苹果', 'warehouse': '烟台玉益', 'receipt_pre': 'nan', 'receipt': None, 'receipt_chg': '0', 'unit': '张', 'comd': 'AP', 'created_at': datetime.datetime(2025, 8, 27, 18, 34, 1, 576010), 'updated_at': datetime.datetime(2025, 8, 27, 18, 34, 1, 576422)}, {'date': '2025-08-11', 'variety': 'AP', 'fut_name': '苹果', 'warehouse': '烟台联盛', 'receipt_pre': 'nan', 'receipt': 0.0, 'receipt_chg': '0', 'unit': '张', 'comd': 'AP', 'created_at': datetime.datetime(2025, 8, 27, 18, 34, 1, 576010), 'updated_at': datetime.datetime(2025, 8, 27, 18, 34, 1, 576422)}  ... displaying 10 of 849 total bound parameter sets ...  {'date': '2025-08-11', 'variety': 'PR', 'fut_name': '瓶片', 'warehouse': '珠海华润(厂库)', 'receipt_pre': 'nan', 'receipt': 0.0, 'receipt_chg': '0', 'unit': '张', 'comd': 'PR', 'created_at': datetime.datetime(2025, 8, 27, 18, 34, 1, 576010), 'updated_at': datetime.datetime(2025, 8, 27, 18, 34, 1, 576422)}, {'date': '2025-08-11', 'variety': 'PR', 'fut_name': '瓶片', 'warehouse': '逸盛大化(厂库)', 'receipt_pre': 'nan', 'receipt': 583.0, 'receipt_chg': '583', 'unit': '张', 'comd': 'PR', 'created_at': datetime.datetime(2025, 8, 27, 18, 34, 1, 576010), 'updated_at': datetime.datetime(2025, 8, 27, 18, 34, 1, 576422)}]]
(Background on this error at: https://sqlalche.me/e/20/9h9h)
=========================================================================
2025-08-27 18:35:12 Wed	START TASK.01	future_1d  future_receipt
=========================================================================
2025-08-27 18:35:14,424 - future_1d - INFO - future_receipt check=True check_last=15 start...
2025-08-27 18:35:31,437 - future_1d - INFO - pro.fut_wsr(trade_date=2025-08-07) done
2025-08-27 18:35:32,412 - future_1d - INFO - save future_receipt 2025-08-07 add
2025-08-27 18:35:32,421 - future_1d - INFO -                                       0  ...                           4
date                         2025-08-07  ...                  2025-08-07
variety                              AP  ...                          AP
fut_name                             苹果  ...                          苹果
warehouse                          富县子午  ...                        洛川延刚
receipt_pre                         NaN  ...                         NaN
receipt                             0.0  ...                         NaN
receipt_chg                           0  ...                           0
unit                                  张  ...                           张
comd                                 AP  ...                          AP
created_at   2025-08-27 18:35:32.311445  ...  2025-08-27 18:35:32.311445
updated_at   2025-08-27 18:35:32.311891  ...  2025-08-27 18:35:32.311891

[11 rows x 5 columns]
2025-08-27 18:36:03,115 - future_1d - INFO - pro.fut_wsr(trade_date=2025-08-08) done
2025-08-27 18:36:04,034 - future_1d - INFO - save future_receipt 2025-08-08 add
2025-08-27 18:36:04,041 - future_1d - INFO -                                       0  ...                           4
date                         2025-08-08  ...                  2025-08-08
variety                              AP  ...                          AP
fut_name                             苹果  ...                          苹果
warehouse                          富县子午  ...                        洛川延刚
receipt_pre                         NaN  ...                         NaN
receipt                             0.0  ...                         NaN
receipt_chg                           0  ...                           0
unit                                  张  ...                           张
comd                                 AP  ...                          AP
created_at   2025-08-27 18:36:03.945479  ...  2025-08-27 18:36:03.945479
updated_at   2025-08-27 18:36:03.945910  ...  2025-08-27 18:36:03.945910

[11 rows x 5 columns]
2025-08-27 18:36:33,820 - future_1d - INFO - pro.fut_wsr(trade_date=2025-08-11) done
Traceback (most recent call last):
  File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1936, in _exec_single_context
    self.dialect.do_executemany(
  File "/usr/local/lib/python3.10/site-packages/sqlalchemy/dialects/mysql/mysqldb.py", line 196, in do_executemany
    rowcount = cursor.executemany(statement, parameters)
  File "/usr/local/lib/python3.10/site-packages/pymysql/cursors.py", line 187, in executemany
    return self._do_execute_many(
  File "/usr/local/lib/python3.10/site-packages/pymysql/cursors.py", line 225, in _do_execute_many
    rows += self.execute(sql + postfix)
  File "/usr/local/lib/python3.10/site-packages/pymysql/cursors.py", line 158, in execute
    result = self._query(query)
  File "/usr/local/lib/python3.10/site-packages/pymysql/cursors.py", line 325, in _query
    conn.query(q)
  File "/usr/local/lib/python3.10/site-packages/pymysql/connections.py", line 549, in query
    self._affected_rows = self._read_query_result(unbuffered=unbuffered)
  File "/usr/local/lib/python3.10/site-packages/pymysql/connections.py", line 779, in _read_query_result
    result.read()
  File "/usr/local/lib/python3.10/site-packages/pymysql/connections.py", line 1157, in read
    first_packet = self.connection._read_packet()
  File "/usr/local/lib/python3.10/site-packages/pymysql/connections.py", line 729, in _read_packet
    packet.raise_for_error()
  File "/usr/local/lib/python3.10/site-packages/pymysql/protocol.py", line 221, in raise_for_error
    err.raise_mysql_exception(self._data)
  File "/usr/local/lib/python3.10/site-packages/pymysql/err.py", line 143, in raise_mysql_exception
    raise errorclass(errno, errval)
pymysql.err.DataError: (1366, "Incorrect decimal value: 'nan' for column 'receipt_pre' at row 1")

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/root/project/future_1d/future_receipt.py", line 7, in 
    client.save_future_receipt(check=True, check_last=15)
  File "/root/project/future_1d/future1d_request.py", line 723, in save_future_receipt
    data_add.to_sql(tablebase.__tablename__, self.engine, index=False, if_exists='append', chunksize=1000)
  File "/usr/local/lib/python3.10/site-packages/pandas/util/_decorators.py", line 333, in wrapper
    return func(*args, **kwargs)
  File "/usr/local/lib/python3.10/site-packages/pandas/core/generic.py", line 3106, in to_sql
    return sql.to_sql(
  File "/usr/local/lib/python3.10/site-packages/pandas/io/sql.py", line 844, in to_sql
    return pandas_sql.to_sql(
  File "/usr/local/lib/python3.10/site-packages/pandas/io/sql.py", line 2030, in to_sql
    total_inserted = sql_engine.insert_records(
  File "/usr/local/lib/python3.10/site-packages/pandas/io/sql.py", line 1579, in insert_records
    raise err
  File "/usr/local/lib/python3.10/site-packages/pandas/io/sql.py", line 1570, in insert_records
    return table.insert(chunksize=chunksize, method=method)
  File "/usr/local/lib/python3.10/site-packages/pandas/io/sql.py", line 1121, in insert
    num_inserted = exec_insert(conn, keys, chunk_iter)
  File "/usr/local/lib/python3.10/site-packages/pandas/io/sql.py", line 1012, in _execute_insert
    result = conn.execute(self.table.insert(), data)
  File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1419, in execute
    return meth(
  File "/usr/local/lib/python3.10/site-packages/sqlalchemy/sql/elements.py", line 526, in _execute_on_connection
    return connection._execute_clauseelement(
  File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1641, in _execute_clauseelement
    ret = self._execute_context(
  File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1846, in _execute_context
    return self._exec_single_context(
  File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1986, in _exec_single_context
    self._handle_dbapi_exception(
  File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 2355, in _handle_dbapi_exception
    raise sqlalchemy_exception.with_traceback(exc_info[2]) from e
  File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1936, in _exec_single_context
    self.dialect.do_executemany(
  File "/usr/local/lib/python3.10/site-packages/sqlalchemy/dialects/mysql/mysqldb.py", line 196, in do_executemany
    rowcount = cursor.executemany(statement, parameters)
  File "/usr/local/lib/python3.10/site-packages/pymysql/cursors.py", line 187, in executemany
    return self._do_execute_many(
  File "/usr/local/lib/python3.10/site-packages/pymysql/cursors.py", line 225, in _do_execute_many
    rows += self.execute(sql + postfix)
  File "/usr/local/lib/python3.10/site-packages/pymysql/cursors.py", line 158, in execute
    result = self._query(query)
  File "/usr/local/lib/python3.10/site-packages/pymysql/cursors.py", line 325, in _query
    conn.query(q)
  File "/usr/local/lib/python3.10/site-packages/pymysql/connections.py", line 549, in query
    self._affected_rows = self._read_query_result(unbuffered=unbuffered)
  File "/usr/local/lib/python3.10/site-packages/pymysql/connections.py", line 779, in _read_query_result
    result.read()
  File "/usr/local/lib/python3.10/site-packages/pymysql/connections.py", line 1157, in read
    first_packet = self.connection._read_packet()
  File "/usr/local/lib/python3.10/site-packages/pymysql/connections.py", line 729, in _read_packet
    packet.raise_for_error()
  File "/usr/local/lib/python3.10/site-packages/pymysql/protocol.py", line 221, in raise_for_error
    err.raise_mysql_exception(self._data)
  File "/usr/local/lib/python3.10/site-packages/pymysql/err.py", line 143, in raise_mysql_exception
    raise errorclass(errno, errval)
sqlalchemy.exc.DataError: (pymysql.err.DataError) (1366, "Incorrect decimal value: 'nan' for column 'receipt_pre' at row 1")
[SQL: INSERT INTO future_receipt (date, variety, fut_name, warehouse, receipt_pre, receipt, receipt_chg, unit, comd, created_at, updated_at) VALUES (%(date)s, %(variety)s, %(fut_name)s, %(warehouse)s, %(receipt_pre)s, %(receipt)s, %(receipt_chg)s, %(unit)s, %(comd)s, %(created_at)s, %(updated_at)s)]
[parameters: [{'date': '2025-08-11', 'variety': 'AP', 'fut_name': '苹果', 'warehouse': '富县子午', 'receipt_pre': 'nan', 'receipt': 0.0, 'receipt_chg': '0', 'unit': '张', 'comd': 'AP', 'created_at': datetime.datetime(2025, 8, 27, 18, 36, 34, 576593), 'updated_at': datetime.datetime(2025, 8, 27, 18, 36, 34, 576988)}, {'date': '2025-08-11', 'variety': 'AP', 'fut_name': '苹果', 'warehouse': '延安农投', 'receipt_pre': 'nan', 'receipt': None, 'receipt_chg': '0', 'unit': '张', 'comd': 'AP', 'created_at': datetime.datetime(2025, 8, 27, 18, 36, 34, 576593), 'updated_at': datetime.datetime(2025, 8, 27, 18, 36, 34, 576988)}, {'date': '2025-08-11', 'variety': 'AP', 'fut_name': '苹果', 'warehouse': '延长果业', 'receipt_pre': 'nan', 'receipt': 0.0, 'receipt_chg': '0', 'unit': '张', 'comd': 'AP', 'created_at': datetime.datetime(2025, 8, 27, 18, 36, 34, 576593), 'updated_at': datetime.datetime(2025, 8, 27, 18, 36, 34, 576988)}, {'date': '2025-08-11', 'variety': 'AP', 'fut_name': '苹果', 'warehouse': '栖霞德丰', 'receipt_pre': 'nan', 'receipt': 0.0, 'receipt_chg': '0', 'unit': '张', 'comd': 'AP', 'created_at': datetime.datetime(2025, 8, 27, 18, 36, 34, 576593), 'updated_at': datetime.datetime(2025, 8, 27, 18, 36, 34, 576988)}, {'date': '2025-08-11', 'variety': 'AP', 'fut_name': '苹果', 'warehouse': '洛川延刚', 'receipt_pre': 'nan', 'receipt': None, 'receipt_chg': '0', 'unit': '张', 'comd': 'AP', 'created_at': datetime.datetime(2025, 8, 27, 18, 36, 34, 576593), 'updated_at': datetime.datetime(2025, 8, 27, 18, 36, 34, 576988)}, {'date': '2025-08-11', 'variety': 'AP', 'fut_name': '苹果', 'warehouse': '渭南天顺', 'receipt_pre': 'nan', 'receipt': 0.0, 'receipt_chg': '0', 'unit': '张', 'comd': 'AP', 'created_at': datetime.datetime(2025, 8, 27, 18, 36, 34, 576593), 'updated_at': datetime.datetime(2025, 8, 27, 18, 36, 34, 576988)}, {'date': '2025-08-11', 'variety': 'AP', 'fut_name': '苹果', 'warehouse': '烟台玉益', 'receipt_pre': 'nan', 'receipt': None, 'receipt_chg': '0', 'unit': '张', 'comd': 'AP', 'created_at': datetime.datetime(2025, 8, 27, 18, 36, 34, 576593), 'updated_at': datetime.datetime(2025, 8, 27, 18, 36, 34, 576988)}, {'date': '2025-08-11', 'variety': 'AP', 'fut_name': '苹果', 'warehouse': '烟台联盛', 'receipt_pre': 'nan', 'receipt': 0.0, 'receipt_chg': '0', 'unit': '张', 'comd': 'AP', 'created_at': datetime.datetime(2025, 8, 27, 18, 36, 34, 576593), 'updated_at': datetime.datetime(2025, 8, 27, 18, 36, 34, 576988)}  ... displaying 10 of 849 total bound parameter sets ...  {'date': '2025-08-11', 'variety': 'PR', 'fut_name': '瓶片', 'warehouse': '珠海华润(厂库)', 'receipt_pre': 'nan', 'receipt': 0.0, 'receipt_chg': '0', 'unit': '张', 'comd': 'PR', 'created_at': datetime.datetime(2025, 8, 27, 18, 36, 34, 576593), 'updated_at': datetime.datetime(2025, 8, 27, 18, 36, 34, 576988)}, {'date': '2025-08-11', 'variety': 'PR', 'fut_name': '瓶片', 'warehouse': '逸盛大化(厂库)', 'receipt_pre': 'nan', 'receipt': 583.0, 'receipt_chg': '583', 'unit': '张', 'comd': 'PR', 'created_at': datetime.datetime(2025, 8, 27, 18, 36, 34, 576593), 'updated_at': datetime.datetime(2025, 8, 27, 18, 36, 34, 576988)}]]
(Background on this error at: https://sqlalche.me/e/20/9h9h)