Verwenden Sie die Import-Assistent-Funktion des Navicat-Tools. Diese Software unterstützt eine Vielzahl von Dateiformaten und kann automatisch Tabellen basierend auf Dateifeldern erstellen oder Daten in vorhandene Tabellen einfügen, was sehr schnell und bequem ist.
Methode 1:
python ➕ Pymysql-BibliothekPymysql-Befehl installieren:
import pandas as pd data = pd.read_csv('./tianchi_mobile_recommend_train_user.csv') data.shapeCode-Implementierung:
pip install pymysql
Meth od 2:
pandas ➕ sqlalchem y: Pandas muss sqlalchemy einführen Um SQL zu unterstützen, können mit der Unterstützung von SQLalchemy Abfragen, Aktualisierungen und andere Vorgänge aller gängigen Datenbanktypen implementiert werden.Code-Implementierung:
import pymysql # 数据库连接信息 conn = pymysql.connect( host='127.0.0.1', user='root', passwd='wangyuqing', db='test01', port = 3306, charset="utf8") # 分块处理 big_size = 100000 # 分块遍历写入到 mysql with pd.read_csv('./tianchi_mobile_recommend_train_user.csv',chunksize=big_size) as reader: for df in reader: datas = [] print('处理:',len(df)) # print(df) for i ,j in df.iterrows(): data = (j['user_id'],j['item_id'],j['behavior_type'], j['item_category'],j['time']) datas.append(data) _values = ",".join(['%s', ] * 5) sql = """insert into users(user_id,item_id,behavior_type ,item_category,time) values(%s)""" % _values cursor = conn.cursor() cursor.executemany(sql,datas) conn.commit() # 关闭服务 conn.close() cursor.close() print('存入成功!')Zusammenfassung
Die PyMySQL-Methode dauert 12 Minuten und 47 Sekunden, was immer noch relativ lang ist und eine große Codemenge erfordert, um diese Anforderung zu erfüllen dauert nur etwa 4 Minuten. Abschließend möchte ich hinzufügen, dass die erste Methode die Erstellung einer Tabelle im Voraus erfordert, die zweite Methode jedoch nicht. Daher wird empfohlen, die zweite Methode zu verwenden, die sowohl bequem als auch effizient ist. Wenn Sie immer noch das Gefühl haben, dass es langsam ist, können Sie das Hinzufügen von Multiprozessen und Multithreading in Betracht ziehen.
Die drei umfassendsten Methoden zum Speichern von Daten in einer MySQL-Datenbank:
Python pymysql
Das obige ist der detaillierte Inhalt vonWie man mit Python zig Millionen Daten liest und automatisch in eine MySQL-Datenbank schreibt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!