簡體   English   中英

僅當腳本使用python返回數據時,如何將結果從多個Oracle sql腳本導出到csv

[英]How to export the results from multiple oracle sql scripts to csv only when the script returns data using python

我剛開始編寫用於自動化的python代碼,因此我的主題是執行多個用oracle sql編寫的etl測試腳本,並將每個查詢的結果寫入csv文件,該腳本具有多個sql查詢,每個查詢結果都應寫入我嘗試編寫如下的基本結構,但需要有關如何修改以下代碼的幫助:import os import cx_Oracle import csv

f = open('tabledefinition.sql') #PATH WHERE THE SQL SCRIPTS ARE STORED

full_sql = f.read()

SQL= full_sql.split(';')

filename="S:\Output.csv" # PATH WHERE THE OUTPUT FILE IS STORED
FILE=open(filename,"w");
output=csv.writer(FILE, dialect='excel')

connection = cx_Oracle.connect('userid/password@99.999.9.99:PORT/SID') 
#CONNECTION DETAILS FOR DB

cursor = connection.cursor()

for sql_command in SQL:
    cursor.execute(SQL)
    for row in cursor:
        output.writerow(row)
        cursor.close()
        connection.close()
        FILE.close() 

盡管我自己還沒有嘗試過,但是這些問題使csv文件不能包含多個工作表/標簽: q1q2q3

但是,我可以建議使用The Pandas package 它具有一個非常方便的read_sql函數以及一個可能同樣方便的to_csv函數 read_sql函數將從數據庫中收集信息到DataFrame對象中。 然后可以操縱該數據幀或將其存儲為多種不同格式,其中一種就是csv。 如果在一個文件中需要多個圖紙,則一個可用的選項是hdf文件 ,甚至是excel(.xlsx)文件

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM