=========================================================================
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)