Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/346.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何通过Python忽略sql列名?_Python_Sql_Pandas_Pyodbc - Fatal编程技术网

如何通过Python忽略sql列名?

如何通过Python忽略sql列名?,python,sql,pandas,pyodbc,Python,Sql,Pandas,Pyodbc,我试图通过python运行sql查询,但每次删除最后两行代码时,都会出现一个我不理解的错误-下面的代码就是我试图运行的代码,这些代码是我删除的代码行: 1-columnNames=[n.replace('b','')表示列表中的n(results.columns.values)] 2-results.columns=columnNames import pyodbc import pandas cnxn = pyodbc.connect("DSN=XXX",autocommit=True) sq

我试图通过python运行sql查询,但每次删除最后两行代码时,都会出现一个我不理解的错误-下面的代码就是我试图运行的代码,这些代码是我删除的代码行:

1-
columnNames=[n.replace('b','')表示列表中的n(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:对sql“select b.*from trade.trades a internal join trade.legs b where a.tradeid=b.tradeid where a.productmaintypeid='InterestRateCapFloor'limit 10':('HY000',“[HY000][Cloudera Hardy](80)执行失败执行查询时在服务器中引发语法或语义分析错误。来自服务器的错误消息:编译语句时出错:失败:ParseException行1:83在“where”附近的“tradeid”(80)(SQLExecDirectW)”处缺少EOF


将SQL查询更改为

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

基本上,您需要删除额外的位置

我们需要一个能同时看到错误吗?甚至是密码?请尝试为我们获取一个格式正确的代码:)我将添加正确的codeDatabaseError:sql“select b.*from trade.trades a internal join trade.legs b其中a.tradeid=b.tradeid其中a.productmaintypeid=”InterestRateCapFloor“limit 10”:('HY000',“[HY000][Cloudera Hardy](80)执行查询时在服务器中引发语法或语义分析错误。来自服务器的错误消息:编译语句时出错:失败:ParseException行1:83在'where'附近的'tradeid'(80)(SQLExecDirectW)'处缺少EOF。请检查您的数据库是否支持limit关键字。您好,非常感谢您的帮助。你是对的,这只是一个愚蠢的sql错误,而不是python错误。现在分类!带或不带替换功能