我使用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()
答案 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()