2016-03-06 68 views
3

我正在使用pymysql将csv文件上传到我的数据库。使用pymysql将csv上传到数据库

我使用下面的代码:

#!/usr/bin/python 
# -*- coding: utf-8 -*- 
import pymysql 
import codecs 
import csv 
import urllib2 
import pymysql.cursors 

# Get Data 
csvfile = csv.reader(codecs.iterdecode(file('match_urls-2016-03-04', 'utf-8')) 

# Connect to the database 

connection = pymysql.connect(host='host.com', user='', password='', db='', cursorclass=pymysql.cursors.DictCursor) 

try: 
    with connection.cursor() as cursor: 
     sql = "INSERT INTO Urlup(URL) VALUES(%s)" 
     next(csvfile, None) 
     for line in csvfile: 
      cursor.execute(sql, (line[0])) 

finally: 
    connection.commit() 
    connection.close() 

但我得到的错误“连接”无效的语法和不确定什么,我应该使用或即使脚本将工作

enter image description here

回答

3

您需要通过查询参数作为一个元组,逗号使区别:

cursor.execute(sql, (line[0],)) 
#      HERE^ 

而且,你缺少右括号:

csvfile = csv.reader(codecs.iterdecode(file('match_urls-2016-03-04', 'utf-8'))) 
#                   HERE^ 
+0

谢谢 - 对连接史迪威越来越无效语法= pymysql.con –

+0

@emmaperkins你可以请发布完整的错误回溯你看到了什么?谢谢。 – alecxe

+0

我所得到的是在我的主要任务 –

相关问题