【发布时间】:2021-08-12 14:46:22
【问题描述】:
我是 python 的初学者,想从 python 读取一个 sql 文件并将这些结果提取到 CSV 文件中。我尝试使用 CX_oracle 连接到 oracle 数据库。当我直接在代码中给出 sql 查询时,它可以工作。但是,我不确定如何从 python 读取 sql 文件。
这是我直接在代码中进行 sql 查询时起作用的代码:
import csv
import cx_Oracle
con = cx_Oracle.connect('XCM/XCM@home.com:1500/HOME')
cursor = con.cursor()
csv_file = open("exp.csv", "w")
writer = csv.writer(csv_file, delimiter='|', lineterminator="\n", quoting=csv.QUOTE_NONE)
r = cursor.execute("select * from home_parties where CREATION_DATE >= trunc(sysdate)")
for row in cursor:
writer.writerow(row)
cursor.close()
con.close()
csv_file.close()
我尝试使用下面的代码从 sql 文件中获取,该文件具有与上面代码中提到的相同的 sql 查询 - sample.sql 但它不起作用
import csv
import cx_Oracle
con = cx_Oracle.connect('XCM/XCM@home.com:1500/HOME')
cursor = con.cursor()
csv_file = open("exp.csv", "w")
writer = csv.writer(csv_file, delimiter='|', lineterminator="\n", quoting=csv.QUOTE_NONE)
f = open('C:/Users/home1/sample.sql')
full_sql = f.read()
r = cursor.execute(full_sql)
for row in cursor:
writer.writerow(row)
cursor.close()
con.close()
csv_file.close()
请帮帮我!!
【问题讨论】:
-
定义“无效”。你收到错误了吗?如果是这样,什么错误?在哪一行?
标签: python sql oracle csv cx-oracle