pandas.to_sql()
- не самый быстрый способ загрузки данных в базу данных. to_sql()
использует соединение с драйвером ODB C, что на медленнее , чем встроенный метод массовой загрузки.
Вы можете загрузить данные из файла CSV в MySQL следующим образом :
LOAD DATA INFILE 'some_file.csv'
INTO TABLE some_mysql_table
FIELDS TERMINATED BY ';'
Итак, я бы сделал следующее:
import dask.dataframe as dd
from sqlalchemy import create_engine
#1) create a csv file
df = dd.read_csv('2014-*.csv')
df.to_csv("some_file.csv")
#2) load the file
sql = """LOAD DATA INFILE 'some_file.csv'
INTO TABLE some_mysql_table
FIELDS TERMINATED BY ';"""
engine = create_engine("mysql://user:password@server")
engine.execute(sql)
Вы легко можете превратить вышеприведенное в функцию и использовать ее вместо to_sql
.