Загрузка CSV-данных в MySQL в Python

Не уверен, что мне здесь не хватает, но этот код работает без сообщения об ошибке, но в таблице ничего нет. Я загружаю CSV-значения в три столбца в таблицу mysql

import csv import MySQLdb mydb = MySQLdb.connect(host='localhost', user='root', passwd='', db='mydb') cursor = mydb.cursor() csv_data = csv.reader(file('students.csv')) for row in csv_data: cursor.execute('INSERT INTO testcsv(names, \ classes, mark )' \ 'VALUES("%s", "%s", "%s")', row) #close the connection to the database. cursor.close() print "Done" 

Был бы признателен, если бы кто-то еще мог посмотреть.

Спасибо.

  • Как я могу сбросить одну таблицу sqlite3 в python?
  • Python socket.send () может отправлять только один раз, затем socket.error: Произошла неисправная труба
  • Как извлечь JAR в файловой системе UNIX с помощью одной команды и указать ее целевой каталог с помощью команды JAR?
  • Django: несколько шаблонов url, начиная с корневого распространения через файлы
  • Почему Pandas Transform терпит неудачу, если у вас есть только одна колонка
  • Что мне нужно для чтения баз данных Microsoft Access с помощью Python?
  • как писать в stdout после вызова метода (с помощью автоматической системы уведомлений (Iphone))
  • Есть ли встроенные события кросс-потоков в python?
  • 3 Solutions collect form web for “Загрузка CSV-данных в MySQL в Python”

    Я думаю, вам нужно сделать mydb.commit() всю вставку.

    Что-то вроде этого

     import csv import MySQLdb mydb = MySQLdb.connect(host='localhost', user='root', passwd='', db='mydb') cursor = mydb.cursor() csv_data = csv.reader(file('students.csv')) for row in csv_data: cursor.execute('INSERT INTO testcsv(names, \ classes, mark )' \ 'VALUES("%s", "%s", "%s")', row) #close the connection to the database. mydb.commit() cursor.close() print "Done" 

    Если это кадр данных pandas, вы можете сделать:

    Отправка данных

     csv_data.to_sql=(con=mydb, name='<the name of your table>', if_exists='replace', flavor='mysql') 

    чтобы избежать использования for .

     from __future__ import print_function 

    импорт csv import MySQLdb

    print («Введите файл для экспорта») conn = MySQLdb.connect (host = "localhost", port = 3306, user = "root", passwd = "", db = "database") cursor = conn.cursor ()

    sql = 'CREATE DATABASE test1'

    sql = '' 'DROP TABLE IF EXISTS test1 ; CREATE TABLE test1 (policyID int, statecode varchar (255), county varchar (255)) '' 'cursor.execute (sql)

    с открытым ('C: /Users/Desktop/Code/python/sample.csv') как csvfile: reader = csv.DictReader (csvfile, delimiter = ',') для строки в считывателе: print (строка ['policyID'] , row ['statecode'], row ['county']) # insert conn = MySQLdb.connect (host = "localhost", port = 3306, user = "root", passwd = "", db = "database") sql_statement = "INSERT INTO test1 (policyID, statecode, county) VALUES (% s,% s,% s)" cur = conn.cursor () cur.executemany (sql_statement, [(строка ['policyID'], строка [ statecode '], row [' county '])]) conn.escape_string (sql_statement) conn.commit ()

    Python - лучший язык программирования в мире.