2016-03-06 11 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

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

相關問題