Код примера, который вы дали, не соответствует письменному вопросу.
Если вы хотите загрузить данные из файла CSV в базу данных Oracle, используя Python, прямой пример cx_ Oracle в разделе Загрузка файлов CSV в Oracle База данных данного руководства. Вам нужно использовать executemany()
для загрузки как можно большего количества данных при каждом вызове в базу данных.
Для вырезания и вставки из руководства:
import cx_Oracle
import csv
. . .
# Predefine the memory areas to match the table definition
cursor.setinputsizes(None, 25)
# Adjust the batch size to meet your memory and performance requirements
batch_size = 10000
with open('testsp.csv', 'r') as csv_file:
csv_reader = csv.reader(csv_file, delimiter=',')
sql = "insert into test (id,name) values (:1, :2)"
data = []
for line in csv_reader:
data.append((line[0], line[1]))
if len(data) % batch_size == 0:
cursor.executemany(sql, data)
data = []
if data:
cursor.executemany(sql, data)
con.commit()