嗨,我正在尝试将CSV数据插入到oracle表中。但是出现错误为
TypeError:期望字符串或字节对象
with open('file.csv', 'r') as srcfile:
reader = csv.reader(srcfile, dialect = 'fileProperties')
header = next(reader)
header = ", ".join(str(h) for h in header)
insert = 'insert into table (' + header + ') values ('
#print(insert)
for row in reader:
data = [insert + str(row).strip("[]") + ');']
cur.prepare(data)
cur.execute(data)
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-154-8814eee5c788> in <module>
1 #cur.prepare(data)
----> 2 cur.execute(data)
TypeError: expecting string or bytes object
如果代码有误,请指导我。
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()