python – CX_Oracle – 将数据从Oracle导入到Pandas数据帧
作者:互联网
HY,
我是python中的新手,我希望使用这个简单的查询将一些数据从Oracle数据库导入python(pandas dataframe)
SELECT*
FROM TRANSACTION
WHERE DIA_DAT >=to_date('15.02.28 00:00:00', 'YY.MM.DD HH24:MI:SS')
AND (locations <> 'PUERTO RICO'
OR locations <> 'JAPAN')
AND CITY='LONDON'
我做了什么
import cx_Oracle
ip = 'XX.XX.X.XXX'
port = YYYY
SID = 'DW'
dsn_tns = cx_Oracle.makedsn(ip, port, SID)
connection = cx_Oracle.connect('BA', 'PASSWORD', dsn_tns)
df_ora = pd.read_sql('SELECT* FROM TRANSACTION WHERE DIA_DAT>=to_date('15.02.28 00:00:00', 'YY.MM.DD HH24:MI:SS') AND (locations <> 'PUERTO RICO' OR locations <> 'JAPAN') AND CITY='LONDON'', con=connection)
但我有这个错误
SyntaxError: invalid syntax
我做错了什么?
谢谢
解决方法:
您需要正确引用SQL查询.如果您查看问题(或IDE)中的语法突出显示,您会注意到单引号不能按预期工作.
将最外面的引号更改为双引号 – 如果您希望将它全部放在一行 – 或者如果您希望它跨多行,则将三引号更改为:
query = """SELECT*
FROM TRANSACTION
WHERE DIA_DAT >=to_date('15.02.28 00:00:00', 'YY.MM.DD HH24:MI:SS')
AND (locations <> 'PUERTO RICO'
OR locations <> 'JAPAN')
AND CITY='LONDON'"""
df_ora = pd.read_sql(query, con=connection)
标签:python,cx-oracle 来源: https://codeday.me/bug/20190722/1503225.html