улучшить производительность запроса python django models.py - PullRequest
0 голосов
/ 26 марта 2019

Я загружаю данные веб-сайта в Postgres с помощью Python-Django, существует около 9 CSV-файлов, которые я загружаю в базу данных, но это занимает так много времени ~ 10 часов, чтобы получить данные с веб-сайта и загрузить их в Postgres. Я хотел повысить производительность запроса. Ребята, не могли бы вы помочь с этим?

Это всего лишь 1 кадр данных, но у меня есть еще 9 похожих на это, общие данные меньше 500 тыс. Записей

from django.db import models  
from django_pandas.managers import DataFrameManager  
import pandas as pd      
from sqlalchemy import create_engine  
import zipfile  
import os  
from urllib.request import urlopen     
import urllib.request  
import io  
from io import BytesIO  

class mf(models.Model):
    pg_engine = create_engine('postgresql://user:password@server:host/db')
    zf = zipfile.ZipFile(BytesIO(urllib.request.urlopen('http://md_file.zip').read()))
    df1 = pd.read_csv(zf.open('nm.dat'),header=None,delimiter='|', index_col=0, names=['aaa', 'xxxx', 'yyy','zzz'])
    df1.to_sql('nm',pg_engine,if_exists='replace')
...