我正在编写一个 Python 程序的一部分,我在其中查询一个名为 stockNames 的 PostgreSQL 表,并使用结果根据用户输入打印信息。 stockNames 具有以下布局:
company stockTicker industry
Starbucks SBUX Food/Beverage
...
我还有一系列 Python 打印语句如下(也显示了简短的变量赋值):
stockChoice = input('Select a stock ticker: ')
stockPrice=soup.find(class_="Fw(b) Fz(36px) Mb(-4px) D(ib)")
print('\n' 'Company Name:')
print('Stock Ticker: ',stockChoice)
print('Industry: ' '\n')
print('\n' 'Date: ',)
print('Stock Price: ',stockPrice.text)
我的目标是根据用户输入的股票代码查询公司名称和行业(在 Python 程序中存储为 stockChoice,但在 PostgreSQL 表 stockNames 中作为 stockTicker 存在)并在上面的打印行中打印该信息。我尝试在 psycopg2 查询中包含 stockChoice 变量,但收到以下错误:
cur.execute('SELECT company,stockTicker,industry FROM stockNames WHERE stockTicker=stockChoice;')
column "stockchoice" does not exist
错误是有道理的,因为 stockchoice 不是我原来的 stockNames 表中的一列,但我不确定如何解决这个问题。任何帮助将不胜感激。
你可以为它使用一个占位符:
cur.execute('SELECT company,stockTicker,industry FROM stockNames WHERE stockTicker = %s', (stockchoice,))