Я пытаюсь получить файл CSV в базу данных MYSQL, но он никогда не появляется! Не знаю, может я что-то напутал, но вы, ребята, должны посмотреть.
# its time for fetching data :)
import csv
import urllib2
path = 'C:\\Users\\User\\Desktop\\Downloads\\'
response = urllib2.urlopen('https://files.ontario.ca/opendata/births_by_year_and_month_per_place_of_event_city_2010_0.csv')
html = response.read()
file=open( path +"births.CSV", "r")
reader = csv.reader(file)
for row in reader:
print row
#Server Connection to MySQL:
import MySQLdb
conn = MySQLdb.connect(host= "localhost",
user="root",
passwd="admin",
db="cool")
x = conn.cursor()
try:
x.execute("""INSERT INTO import (test) VALUES (%s,%s,%s,%s)""",(row))
conn.commit()
except:
conn.rollback()
conn.close()
Он заканчивается кодом выхода 0, печатает все, но никогда не вставляет в базу данных. Вот образец печати
['2010', 'Sep', 'THUNDER BAY', '132']
['2010', 'Sep', 'TIMMINS', '59']
['2010', 'Sep', 'TORONTO', '3412']
['2010', 'Sep', 'WELLAND', '58']
['2010', 'Sep', 'WELLINGTON NORTH', '6']
['2010', 'Sep', 'WINDSOR', '337']
['2010', 'Sep', 'WOODSTOCK', '50']
Process finished with exit code 0
EDIT Я не уверен, что часть %s как-то связана с этим, но мне нужна помощь. Спасибо!
Редактировать 2 Отлично! Спасибо всем людям, которые помогли мне. Но теперь есть новое редактирование, и я не могу понять, что происходит не так. Вот новый код!
import csv
import urllib2
path = 'C:\\Users\\hongyu\\Desktop\\Downloads\\'
response = urllib2.urlopen('https://files.ontario.ca/opendata/births_by_year_and_month_per_ place_of_event_city_2010_0.csv')
html = response.read()
file=open( path +"births.CSV", "r")
reader = csv.reader(file)
#Server Connection to MySQL:
import MySQLdb
conn = MySQLdb.connect(host= "localhost",
user="root",
passwd="admin",
db="cool")
for row in reader:
x = conn.cursor()
try:
x.execute("""INSERT INTO testing (year, month, city, num) VALUES (%s,%s,%s,%s)""", (row))
conn.commit()
except :
conn.rollback()
print(row)
print("This row failed to insert")
conn.close()
Теперь, когда я запускаю код, он сообщает мне, какую строку не удалось вставить. Но было много неудачных строк. Вот немного результата.
['1994', 'Dec', 'KAPUSKASING', '10']
This row failed to insert
['1994', 'Dec', 'KENORA', '29']
This row failed to insert
['1994', 'Dec', 'KINCARDINE', '11']
This row failed to insert
['1994', 'Dec', 'KINGSTON', '198']
This row failed to insert
['1994', 'Dec', 'KIRKLAND LAKE', '13']
This row failed to insert
['1994', 'Dec', 'KITCHENER', '363']
This row failed to insert
['1994', 'Dec', 'LEAMINGTON', '31']
This row failed to insert
Любая помощь? в базе нет почти всего, и вот немного из этого. http://prntscr.com/h6dhod P.S. Это не только города, начинающиеся с буквы a, но и Торонто.