python 抽取資料

來源:互聯網
上載者:User
# -*- coding: utf-8 -*-import cx_Oraclefrom pprint import pprintimport csvimport timeimport reimport binasciiconn = 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="\n", 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 xsqlr = cursor.execute(xsql)columns=[];for (col,) in r:    print col    columns.append(col)ysql="select COLUMN_NAME,DATA_TYPE from dba_tab_columns where table_name=upper("+"'"+table_name+"'"+")and owner=upper("+"'"+owner+"'"+")"+" "+"order by column_id asc"d={}r = cursor.execute(ysql)m=0arr1=[]for j in r:    #print j        if (j[1]=='RAW'):            print j[1]            arr1.append(m)        else:            pass        m = m + 1print arr1print '------------------'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_nameprint exportOracleSqlcursor.execute("alter session set nls_date_format='yyyy-mm-dd'")s1 = cursor.execute(exportOracleSql)for row in s1:    #print type(row)    s2=[]    for i in range(0,len(row)):         if (i in arr1):             #print (binascii.b2a_hex(row[i]))             s2.append(binascii.b2a_hex(row[i]))             #writer.writerow( binascii.b2a_hex(row[i]))         else:              #print row[i]              s2.append(row[i])             #writer.writerow(row[i])    print s2    writer.writerow(s2)f.close()cursor.close()close__ = conn.close()

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.