将数据从CSV插入SQL表时出错

时间:2017-01-30 15:20:56

标签: python sql python-2.7 csv insert-into

我是python的新手,需要帮助解决错误我不知道如何解决。我将数据从csv插入到sql server中。以下是代码:

#Parsing data from csv
pillar_data = csv.reader(file('C:\Projects/Miscellaneous/List_of_titles.csv'))

# Setting up the Connection
con = create_conn(config=config)
start = time.time()
cur = con.cursor()

#Inserting data into sql
for rows in pillar_data:
    format_str="""INSERT INTO top_title_list_india (title, pillar) VALUES ('{Title}', '{Pillar}');"""
    sql_command = format_str.format(Title=rows[0], Pillar=rows[1])
    cur.execute(sql_command)

所有数据点都是字符串。我得到的错误是:

---------------------------------------------------------------------------
ProgrammingError                          Traceback (most recent call last)
<ipython-input-163-619604c90732> in <module>()
      2     format_str="""INSERT INTO top_title_list_india (title, pillar) VALUES ('"{Title}"', '{Pillar}');"""
      3     sql_command = format_str.format(Title=rows[0], Pillar=rows[1])
----> 4     cur.execute(sql_command)

ProgrammingError: syntax error at or near "s"
LINE 1: ...t_india (title, pillar) VALUES ('"Gortimer Gibbon's Life on ...
                                                             ^

我不知道如何纠正这个问题。如果有更好的方法将数据从csv插入sql server请告诉我。谢谢你的帮助。

1 个答案:

答案 0 :(得分:0)

pillar_data = csv.reader(file('C:\Projects/Miscellaneous/List_of_titles.csv'))

必须更改为

pillar_data = csv.reader(file('C:\Projects\Miscellaneous\List_of_titles.csv'))

您也可以使用

pillar_data = csv.reader(file(r'C:\\Projects\\Miscellaneous\\List_of_titles.csv'))