def populate_db(cur, csv_fp):
rdr = csv.reader(csv_fp)
cur.executemany('''INSERT INTO tickets (Key , \
Id , \
Project , \
Type , \
Status , \
Priority , \
Assignee , \
Reporter , \
Created , \
Updated , \
Date_due , \
Summary , \
Description , \
Components , \
Affects_Versions , \
Fix_Versions , \
Environment , \
Resolution , \
Votes) \
VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)''', rdr)
此代码在我的pycharm编辑器上使用2.7解释器正常工作。 但是在带有2.6的linux机器上它会出现上述错误。 请直接。
答案 0 :(得分:0)
尝试使用list literal或使rdr成为元组。因为rdr被视为输入序列,所以需要将其转换为元组或列表:
[rdr]
#or try this
(rdr,)
答案 1 :(得分:0)
由于这可以在IDE(Pycharm)中使用,但不能在生产中使用,因此我改用带字典的csv阅读器。掉落的方块。
def populate_dict(mydict, csv_fh):
rdr = csv.DictReader(csv_fh, ['Key', 'Description'])
mydict.extend(rdr)