我想通过python连接Oracle Db并获取查询结果数据,并使用这些数据创建excel或csv报告。我以前从未尝试过,也没有看到有人在我周围做过这样的事情,您对此情况有任何建议或想法吗?
问候
您可以使用下面的语法将Oracle db与python cx_Oracle
库连接,以用作连接字符串。您应该知道,带有python代码的connection_oracle_textfile.txt
文件和.py文件必须位于同一文件夹中才能启动。
[connection_oracle_textfile.txt
-> username/password@HOST:PORT/SERVICE_NAME
(除了tnsnames.ora文件中的用户名和密码,您都可以找到所有它们)]
import cx_Oracle as cx_Oracle
import pandas as pd
def get_oracle_table_from_dbm(sql_text):
if 'connection_oracle' not in globals():
print('connection does not exist. Try to connect it...')
f = open('connection_oracle_textfile.txt', "r")
fx = f.read()
####
global connection_oracle
connection_oracle = cx_Oracle.connect(fx)
####
print('connection established!!')
print('Already have connection. Just fetch data!!')
return pd.read_sql(sql_text, con=connection_oracle)
df=get_oracle_table_from_dbm('select * from dual')
例如,还有其他stackoverflow答案。 How to export a table to csv or excel format。记得调音cursor.arraysize。
尽管您可能需要熊猫库来创建csv文件,但您不一定要使用它来进行将来的数据分析。
cx_Oracle文档讨论installation,connection和querying,以及其他主题。
如果要读取CSV文件,请参阅Loading CSV Files into Oracle Database。