решили проблему.
* Первая проблема заключается в том, что список не может быть передан в качестве параметра при использовании executemany, но список работает при использовании execute
* Вторая проблема заключается в необходимости привязки исходных данных при вставке.Однако вместо жесткого кодирования переменных привязки, получения имен столбцов и динамической передачи переменных привязки, так что любой столбец, добавленный или удаленный в файле, может быть обработан без изменения кода
with open('G:\Project\ETL\data\CME.csv', 'r') as srcfile:
reader = csv.reader(srcfile, dialect = 'fileProperties')
header = next(reader)
columns = ", ".join(str(h) for h in header)
length = len(next(reader))
bind = []
data = []
for binds in range(1, length+1):
bind.append(':' + str(binds))
insert = 'insert into ledger_source_python (' + columns + ') values (' + ", ".join(str(l) for l in bind) + ')'
for row in reader:
data.append(row)
cur.executemany(insert, data)
con.commit()
Спасибо, ребята,за все ваши комментарии.