连接到Oracle数据库并使用Python将数据导出为CSV

6tr1vspr  于 2023-06-05  发布在  Oracle
关注(0)|答案(1)|浏览(205)

我想连接Oracle数据库到Python和使用选择语句无论结果我会得到,我希望该结果被导出为CSV文件在sftp的位置。
我知道我们可以使用cx_oracle包连接oracle和python。
但我关心的是从oracle获取数据到csv并将其导出。
另外要注意的是,我的数据更大。
谁能帮我得到的解决方案,这可能是快速以及。
先谢谢你了。

2w3kk1z5

2w3kk1z51#

从这样的东西开始,并根据您的要求进行更改:

import csv
import os
import getpass

import oracledb

un = os.environ.get('PYTHON_USERNAME')
cs = os.environ.get('PYTHON_CONNECTSTRING')
pw = getpass.getpass(f'Enter password for {un}@{cs}: ')

connection = oracledb.connect(user=un, password=pw, dsn=cs)

sql = 'select * from employees'

with connection.cursor() as cursor:
    cursor.arraysize = 5000
    with open("output.csv", "w", encoding='utf-8') as outputfile:
        writer = csv.writer(outputfile, lineterminator="\n")
        results = cursor.execute(sql)
        writer.writerows(results)

特别是,您需要调整arraysize值。
参见Tuning python-oracledb

相关问题