python - Pandas DataFrame 和 SQL 未提交
问题描述
我在代码中 t 的第二次迭代中收到以下错误:
Traceback (most recent call last):
File "D:\Python\GetSharePrices\main.py", line 10, in <module>
for t in tickers:
pyodbc.ProgrammingError: No results. Previous SQL was not a query.
如果我删除最后两个语句,整个脚本会按预期运行。但是,当我尝试执行游标时,只有第一行被提交,然后我得到错误。
import yfinance as yf
import pyodbc as py
conn = py.connect('Driver={SQL Server}; Server=ORCHARD; Database=APPLE; Trusted_Connection=yes;')
cursor = conn.cursor()
sql = 'SELECT ticker FROM tickers'
tickers = cursor.execute(sql)
insert_sql = 'INSERT INTO share_price VALUES (?, ?, ?)'
for t in tickers:
ticker = t[0]
tickerData = yf.Ticker(ticker)
tickerDf = tickerData.history(period='1d', start='2021-10-21', end='2021-10-21')
for index, row in tickerDf.iterrows():
price = row['Open']
print(ticker, index, price)
cursor.execute(insert_sql, (ticker, index, price))
cursor.commit()
解决方案
你没有获取结果。做 -tickers = cursor.execute(sql).fetch_all()
假设表大小是合理的,否则一次获取一个块。
推荐阅读
- javascript - 自动完成,分类排序
- google-app-engine - 应用引擎在约 10 分钟后关闭并启动
- docker - 如何在带有docker的nestjs开发环境中工作?
- python - 在已经运行的子进程上运行一个函数(在一个新线程中)
- flutter - Flutter - 在终端中保存添加命令后
- woocommerce - WooCommerce 结帐总重复错误
- javascript - 尝试基于选择(下拉)元素显示隐藏的 div
- elasticsearch - _delete_by_query 包含无法识别的参数
- google-bigquery - 在 BigQuery 中编写 SQL 代码以获取格式为 attribute1:attribute_value1;attribute2:attribute_value2 的数据
- css - 不同 div 高度的固定渐变