python unload oracle

[oracle@node01 python]$ cat a6.py 
import cx_Oracle
from pprint import pprint
import csv

conn = cx_Oracle.connect('system/oracle@192.168.137.2/serv')
cursor = conn.cursor()
table_name="t300"
owner="system"
f = open(table_name+".csv", "w")
writer = csv.writer(f, lineterminator="
", quoting=csv.QUOTE_NONNUMERIC)
xsql="select COLUMN_NAME from dba_tab_columns where table_name=upper("+"'"+table_name+"'"+")and owner=upper("+"'"+owner+"'"+")"+" "+"order by column_id asc"
print xsql
r = cursor.execute(xsql)
columns=[];
for (col,) in r:
    print col
    columns.append(col)

print columns
exportOracleSql="SELECT ";
for i in range(0, len(columns)):
    if i != len(columns) - 1:
        exportOracleSql=exportOracleSql+columns[i]+','
    else:
        exportOracleSql = exportOracleSql + columns[i]
exportOracleSql=exportOracleSql+" "+"from"+" "+owner+"."+table_name
print exportOracleSql
x = cursor.execute(exportOracleSql)
for row in x:
    writer.writerow(row)
f.close()
cursor.close()
conn.close()

[oracle@node01 python]$ cat t300.csv 
1,"","oracle@node01 (VKTM)","node01","2017-07-28 05:13:50"
2,"","oracle@node01 (DIA0)","node01","2017-07-28 05:13:50"
3,"","oracle@node01 (CKPT)","node01","2017-07-28 05:13:50"
4,"","oracle@node01 (MMNL)","node01","2017-07-28 05:13:50"
6,"SYSTEM","plsqldev.exe","WORKGROUPTLCB-PC","2017-07-28 05:19:49"
7,"","oracle@node01 (Q000)","node01","2017-07-28 05:14:05"
9,"SYSTEM","plsqldev.exe","WORKGROUPTLCB-PC","2017-07-28 05:25:18"
10,"SYS","sqlplus@node01 (TNS V1-V3)","node01","2017-07-28 06:02:22"
11,"","oracle@node01 (J001)","node01","2017-07-28 06:11:35"
569,"","oracle@node01 (GEN0)","node01","2017-07-28 05:13:50"
570,"","oracle@node01 (MMAN)","node01","2017-07-28 05:13:50"
571,"","oracle@node01 (SMON)","node01","2017-07-28 05:13:50"
572,"","oracle@node01 (CJQ0)","node01","2017-07-28 05:13:56"
574,"","oracle@node01 (Q001)","node01","2017-07-28 05:14:05"
575,"","oracle@node01 (SMCO)","node01","2017-07-28 05:23:55"
576,"","oracle@node01 (W000)","node01","2017-07-28 06:03:59"
1137,"","oracle@node01 (PMON)","node01","2017-07-28 05:13:49"
1138,"","oracle@node01 (DIAG)","node01","2017-07-28 05:13:50"
1139,"","oracle@node01 (DBW0)","node01","2017-07-28 05:13:50"
1140,"","oracle@node01 (RECO)","node01","2017-07-28 05:13:50"
1141,"SYSTEM","plsqldev.exe","WORKGROUPTLCB-PC","2017-07-28 05:45:29"
1142,"SYSTEM","plsqldev.exe","WORKGROUPTLCB-PC","2017-07-28 05:58:32"
1143,"SYSTEM","sqlplus@node01 (TNS V1-V3)","node01","2017-07-28 06:01:14"
1144,"","oracle@node01 (W002)","node01","2017-07-28 06:05:56"
1705,"SYSTEM","plsqldev.exe","WORKGROUPTLCB-PC","2017-07-28 05:14:22"
1706,"","oracle@node01 (PSP0)","node01","2017-07-28 05:13:49"
1707,"","oracle@node01 (DBRM)","node01","2017-07-28 05:13:50"
1708,"","oracle@node01 (LGWR)","node01","2017-07-28 05:13:50"
1709,"","oracle@node01 (MMON)","node01","2017-07-28 05:13:50"
1711,"","oracle@node01 (W001)","node01","2017-07-28 05:50:56"
1713,"","oracle@node01 (QMNC)","node01","2017-07-28 05:13:55"
1716,"SYSTEM","plsqldev.exe","WORKGROUPTLCB-PC","2017-07-28 05:59:00"
1717,"","oracle@node01 (J000)","node01","2017-07-28 06:11:35"


但是不能写出raw数据类型的数据

原文地址:https://www.cnblogs.com/hzcya1995/p/13349593.html