Es ist wichtig, die Daten der Datenwissenschaft in RDB festzulegen.
Die Serie geht vorerst weiter. Ich plane, die Analyse mit den erfassten Daten auch in Zukunft fortzusetzen. (Pläne)
Der Fluss ist üblich, weil Sie ihn einfach von csv nach db setzen --db gesetzt --parse csv
Es ist normalerweise ein einfaches MySQL.
import csv
Setzen Sie das CSV-Modul ein
with open('path/to/csvfile.csv') as csvfile:
reader = csv.reader(csvfile)
In `csvfile```,`
<open file'path / to / csvfile.csv ', mode'r' bei 0x1098da030> `` Objekt wird eingegeben und
`csvfile``` befindet sich im Reader. Enthält ein Objekt, das die Zeile wiederholt (iteriert).
Return a reader object which will iterate over lines in the given csvfile. csvfile can be any object which supports the iterator protocol and returns a string each time its next() method is called — file objects and list objects are both suitable.
Von hier
Ich wollte den Header nicht in die CSV-Datei aufnehmen, also habe ich den Header übersprungen.
next(reader, None)
Die Erklärung von next () lautet hier.
next(iterarot[, default]) Retrieve the next item from the iterator by calling its next() method. If default is given, it is returned if the iterator is exhausted, otherwise StopIteration is raised.
for row in reader:
#Zeile für Zeile in db einfügen
import mysql.connector
Setzen Sie das Modul ein
dbcon = mysql.connector.connect(
database=inifile.get("database", "db"),
user=inifile.get("database", "user"),
password=inifile.get("database", "password"),
host=inifile.get("database", "host")
)
dbcur = dbcon.cursor()
dbcur.execute('INSERT INTO Tabellenname(col name, col name) VALUES(%s, "%s")' % ('v1', 'v2'))
dbcon.commit()
Geben Sie mit ein. Wenn Sie es in der Luft lesen, können Sie es verstehen (es war leider schwierig, das Verhalten der Methode jedes Moduls zu überprüfen). Es fühlt sich an, als würde SQL tatsächlich durch Commit ausgeführt. Einer der Gründe ist wahrscheinlich, dass es effizienter ist, SQL gleichzeitig zu drücken, wenn mehrere SQLs vorhanden sind oder wenn mehrere SQLs vorhanden sind und wenn Sie MySQLs mehrmals verbinden und sie dann einmal verbinden, anstatt sie zu wiederholen. (Spekulation)
So was. (Der Tabellenname und die Konfiguration gelten diesmal für meine Umgebung. Ändern Sie sie daher entsprechend.)
import mysql.connector
import csv
import ConfigParser
inifile = ConfigParser.ConfigParser()
inifile.read("config/database.ini")
dbcon = mysql.connector.connect(
database=inifile.get("database", "db"),
user=inifile.get("database", "user"),
password=inifile.get("database", "password"),
host=inifile.get("database", "host")
)
dbcur = dbcon.cursor()
with open('RCdata/chefmozaccepts.csv') as csvfile:
reader = csv.reader(csvfile)
next(reader, None)
for row in reader:
dbcur.execute('INSERT INTO restaurants_payments_methods (restaurant_id, payment_method) VALUES(%s, "%s")' % tuple(row))
dbcon.commit()
Andere Dinge, die ich über Python nicht wusste.
Von hier Unterschied zwischen Tapple und Liste
just like lists. The differences between tuples and lists are, the tuples cannot be changed unlike lists and tuples use parentheses, whereas lists use square brackets.
Ich kannte Tapuru nicht.
Recommended Posts