当前位置: 首页 > 知识库问答 >
问题:

使用cx_oracle将CSV文件内容加载到oracle并获取Select关键字错误

牟正真
2023-03-14

我试图将一个csv文件加载到Oracle表中,却得到以下错误消息:

DatabaseError: ORA-00928: missing SELECT keyword

下面是我使用的代码:

def Create_list():
reader = csv.reader(open("Query_result_combined.csv","r"))
lines=[]
for line in reader:
    lines.append(line)
print(lines[:1])
print(lines[:2])
return lines

def Insert_data():
db_user = "XXXXXXX"  # replace this with correct user name
db_password = "********"  # Set the environment variable DB_PASSWORD
db_connection_name = "***********"# repalce this with correct database name
#db_driver = "oracle.jdbc.OracleDriver","C:/Oracle/32bitclient/product/11.2.0/client_1/jdbc/lib/ojdbc6.jar"
print("Connecting Now!!")
con = cx_Oracle.connect(db_user,db_password,db_connection_name)
print("Connected to Oracle!!")
lines=Create_list()
#print lines
cur=con.cursor()
print("Inserting data")
cur.executemany("INSERT INTO BRIODB.A608232_QUERY_RESULT ('InteractionId','QueryId','Score','StartOffsetInMs','EndOffsetInMs','SpeakerRole','QueryIdentity','SpeakerId') VALUES(:1,:2,:3,:4,:5,:6,:7,:8)",lines)
con.commit ()
cur.close()
print("completed")

如果我打印行[:1]和行[:2],这是我得到的输出:

[['InteractionId', 'QueryId', 'Score', 'StartOffsetInMs', 'EndOffsetInMs', 
'SpeakerRole', 'QueryIdentity', 'SpeakerId']]
[['InteractionId', 'QueryId', 'Score', 'StartOffsetInMs', 'EndOffsetInMs', 
'SpeakerRole', 'QueryIdentity', 'SpeakerId'], ['34118470', '27', '45.63345', 
'89900', '90980', 'U', 'e54fd492-8877-4534-997b-9dbe9a8fbd74', '']]
Inserting data

我无法解决这个问题。

共有1个答案

郏博瀚
2023-03-14

如果表有大写的列名,则在insert语句的列列表中删除列名两边的< code>'。如果insert语句中列名的大小写与表中的匹配,则用< code>"替换< code>'。后者是指引用包含特殊字符的列或列名大小写混合的情况。

 类似资料:
  • 本文向大家介绍Python使用cx_Oracle模块将oracle中数据导出到csv文件的方法,包括了Python使用cx_Oracle模块将oracle中数据导出到csv文件的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Python使用cx_Oracle模块将oracle中数据导出到csv文件的方法。分享给大家供大家参考。具体实现方法如下: 希望本文所述对大家的Python程序设

  • 我是python编程/数据科学家领域的新手。我使用Pycharm和MacOs。出于学习目的,我从Kaggle下载了一些CSV文件,我总是能够将它们加载到Pycharm中。但实际上我无法从我的工作环境中加载csv文件,令人惊讶的是,我可以使用R函数'fread'加载该文件,但我的目标是将其加载到python中。请在下面查找代码和错误: 代码: 错误: “/Users/oscargonzalez-ll

  • 问题内容: 我想在数据库中使用csv文件 问题答案: 由于SQLAlchemy的强大功能,我还在项目中使用了它。它的强大功能来自于与数据库“对话”的面向对象的方式,而不是硬编码难以管理的SQL语句。更不用说,它也快很多。 坦率地回答您的问题,是的!使用SQLAlchemy将数据从CSV存储到数据库中简直是小菜一碟。这是一个完整的工作示例(我使用了SQLAlchemy 1.0.6和Python 2.

  • 我是Spark的新手,我正在尝试使用Spark从文件中读取CSV数据。以下是我正在做的: 我希望这个调用会给我一个文件前两列的列表,但我遇到了以下错误: 索引器中第1行的文件“”:列表索引超出范围 虽然我的CSV文件不止一列。

  • 我正在使用php执行一个远程url,使用文件内容。如果file_get_contents检索到的内容不是空的,那么我会回显一条消息,说是complete。 然而,远程网址有时可能需要一点时间来加载,因为这整个PHP页面需要很长时间来加载。当它完成时,显示结果为完成或错误 谢谢