如何在SQL Developer中将解析后的数据从Python导出到Oracle表?

时间:2016-10-26 14:59:16

标签: python oracle import export oracle-sqldeveloper

我使用Python来解析txt文件以获取特定信息(日期,$ amount,lbs等),现在我想将该数据导出到我在SQL Developer中创建的Oracle表。

我已经使用cx_Oracle模块成功地将Python连接到Oracle,但我很难从Python导出甚至将任何数据打印到我的数据库。

我不擅长使用SQL,我知道简单的查询及其相关信息。我已经探索了Oracle文档,并且没有找到直接的导出命令。通过Python将数据导出到Oracle表时,我将使用的是Python代码还是SQL代码?例如,它与导入CSV文件相同吗?

我想了解如何从Python写入Oracle表;我需要解析并导出大量数据,因此这不是一次性导出/导入。我还希望有一种方法来预览我的导入,以确保它与我已经创建的Oracle表格正确对齐,或者是否存在足够的简单撤消操作。

如果我的问题不清楚,我非常乐意澄清它。谢谢你的帮助。

到目前为止我的代码:

import cx_Oracle

dsnStr = cx_Oracle.makedsn("sole.wh.whoi.edu", "1526", "sole")

con = cx_Oracle.connect(user="myusername", password="mypassword", dsn=dsnStr)
print (con.version)

#imp 'Book1.csv' [this didn't work]

cursor = con.cursor()
print (cursor)

con.close()

1 个答案:

答案 0 :(得分:0)

Import a CSV file into Oracle using CX_Oracle & Python 2.7您可以看到整体计划。 因此,如果您已经将数据解析为csv,则可以轻松地执行以下操作:

import cx_Oracle
import csv

dsnStr = cx_Oracle.makedsn("sole.wh.whoi.edu", "1526", "sole")

con = cx_Oracle.connect(user="myusername", password="mypassword",     dsn=dsnStr)
print (con.version)

#imp 'Book1.csv' [this didn't work]

cursor = con.cursor()
print (cursor)

text_sql = '''
INSERT INTO tablename (firstfield, secondfield) VALUES(:1,:2)
'''

my_file = 'C:\CSVData\Book1.csv'
cr = csv.reader(open(my_file,"rb"))
for row in cr:    
    print row
    cursor.execute(text_sql, row)
    print 'Imported'
con.close()