INSERT期间语法的pymysql问题

时间:2017-11-29 22:51:33

标签: python pymysql

我正在尝试从csv文件中插入一些行。我看到错误TypeError:并非所有参数都转换为字符串格式。我已经开始使用这个小查询来运行,因为csv有90个我需要考虑的列。首先,我将它限制在几列。 ProjectId,PlannedStartDate(IST)和2017-7。

如何在PlannedStartDate(IST)中转义括号? 我觉得这是错误,因为Traceback在部分near '(IST), 2017-7) VALUES ('PRJ278', '10/9/2017', '0')' at line 1")中读取,这告诉我这不会被视为列名的一部分。我尝试了"'标记的混合,但到目前为止还没有任何工作正常。 是重命名列名的唯一可行选项吗?

csv_data = csv.reader(open('C:\\Users\\Public\\Documents\\waterfall_data_test.csv'))
next(csv_data)  #skip the header row
for row in csv_data:
    cursor.execute(
        "INSERT INTO deals.waterfall (ProjectId, PlannedStartDate(IST), 2017-7) VALUES (%s, %s, %s)", row)
db.commit()

1 个答案:

答案 0 :(得分:0)

您可以使用`character:

在MySQL中转义列名
cursor.execute(
    "INSERT INTO deals.waterfall (`ProjectId`, `PlannedStartDate(IST)`, `2017-7`) VALUES (%s, %s, %s)", row