如何通过 Python 忽略 sql 列名?

How to ignore sql column names via Python?

我正在尝试通过 python 运行 sql 查询,但每次我删除最后两行代码时,我都会收到一个我不明白的错误 - The下面的代码是我正在尝试 运行,这些是我删除的代码行:

1 - columnNames = [n.replace('b','') for n in list(results.columns.values)]

2 - results.columns = columnNames

import pyodbc
import pandas
cnxn = pyodbc.connect("DSN=XXX",autocommit=True)
sql = "select b.* from X.Y a inner join X.X b where a.tradeid = b.tradeid where a.productmaintypeid = 'InterestRateCapFloor' limit 10"
results = pandas.read_sql(sql, cnxn)

错误信息

DatabaseError: Execution failed on sql 'select b.* from trade.trades a inner join trade.legs b where a.tradeid = b.tradeid where a.productmaintypeid = 'InterestRateCapFloor' limit 10': ('HY000', "[HY000] [Cloudera][Hardy] (80) Syntax or semantic analysis error thrown in server while executing query. Error message from server: Error while compiling statement: FAILED: ParseException line 1:83 missing EOF at 'where' near 'tradeid' (80) (SQLExecDirectW)")

将您的 SQL 查询更改为

select b.* from trade.trades a inner join trade.legs b where a.tradeid = b.tradeid AND a.productmaintypeid = 'InterestRateCapFloor' limit 10 

基本上你需要删除多余的地方。