Ускорение метода панд to_sql - PullRequest
0 голосов
/ 02 октября 2018

Я пытаюсь использовать метод Pandas to_sql для загрузки нескольких CSV-файлов в их соответствующие таблицы в базе данных SQL Server, просматривая их циклически.

    fileLoc = r'C:\Users\hcole\Downloads\stats.csv\\'
    dfArray = ['file1', 'file2', 'file3', 'file4']

    for name in dfArray:
        df = pd.read_csv(fileLoc + name + '.csv')
        df.columns = df.columns.str.replace(' ', '')
        df.to_sql(name, engine, if_exists = 'append', index = False)

Моя строка подключения и подключение к базе данных работают нормально;Я делаю это через первые несколько (и маленькие) файлы просто отлично.Но как только я нажимаю на file4, который содержит ~ 135 тыс. Строк, загрузка всех данных в базу данных занимает около часа.Я попытался понизиться до версии Pandas 0.22 после прочтения документации по аргументу «chunksize» в to_sql, но мне не повезло с этим, что ускорило процесс.

Буду признателен за любые советы по улучшению скорости.,Спасибо.

1 Ответ

0 голосов
/ 02 октября 2018

Попробуйте сложить все данные в один DataFrame, прежде чем даже пытаться записать в SQL.

Время это.Если это займет где-то около этого часа, то входные данные будут просто большими.

Если этого не произойдет, то, скорее всего, у вас будет менее звездное соединение с вашей базой данных.

...