在使用python的Oracle数据库中需要数字的位置找到了一个非数字字符

在使用python的Oracle数据库中需要数字的位置找到了一个非数字字符,oracle,python-2.6,Oracle,Python 2.6,我有一个python脚本,应该做的是获取.csv文件并将其上传到表中 我听到一个错误,说(第[0]行、第[1]行、第[2]行、第[3]行、第[4]行、第[5]行、第[6]行) cx_Oracle.DatabaseError:ORA-01858:在需要数字的位置找到非数字字符 如果有人能帮忙,我们将不胜感激 #!/bin/env python2 import cx_Oracle import csv import datetime import os hostname = os.environ

我有一个python脚本,应该做的是获取.csv文件并将其上传到表中

我听到一个错误,说
(第[0]行、第[1]行、第[2]行、第[3]行、第[4]行、第[5]行、第[6]行)
cx_Oracle.DatabaseError:ORA-01858:在需要数字的位置找到非数字字符

如果有人能帮忙,我们将不胜感激

#!/bin/env python2

import cx_Oracle
import csv
import datetime
import os

hostname = os.environ['Home_Server_DB_SERVER']
port = os.environ['Home_Server_DB_PORT']
service = os.environ['Home_Server_DB_SERVICE']
uname = os.environ['Home_server_DB_ID']
pwd = os.environ['Home_server_DB_PW']
jdbc_url = 'jdbc:oracle:thin:@' + hostname + ':' + port + '/' + service
con = cx_Oracle.connect(uname, pwd, hostname + ': ' + port + '/' + service)
cursor = con.cursor()
with open('file.csv', 'r') as csv_file:
    csv_reader = csv.reader(csv_file, delimiter=',')
    for lines in csv_reader:
        cursor.execute( "insert into Man_Men_For2 ( date,first_name,last,class,address,phone,email) values (:1, :2, :3, :4, :5, :6, :7)" , 
        (lines[0], lines[1], lines[2], lines[3] , lines[4] , lines[5], lines[6]))  


cursor.close()
con.commit()
con.close()

您做了什么来调试它?尝试删除循环并使用Python中设置的值,而不是从文件中读取。我还强烈建议您考虑使用ExecuteMay()来提高性能,您可以看到ExecuteMay()和ExecuteMay()之间的巨大性能差异在@ChristopherJones iin的图中,在我的例子中,我认为我不需要更改循环,因为我需要将整个.csv文件上载到表中。如果您测试代码,该方法可以正常工作。主要问题是我不熟悉使用循环将数据插入表的语法。您对其进行了哪些调试?请尝试remov我还强烈建议使用executemany()来提高性能,你可以看到executemany()和executemany()之间的巨大性能差异在@ChristopherJones iin中的图形中,在我的例子中,我认为我不需要更改循环,因为我需要将整个.csv文件上载到表中。如果您测试代码,该方法可以正常工作。主要问题是我不熟悉使用循环将数据插入表的语法