Как правильно использовать метод pandas fast to_ sql? - PullRequest
1 голос
/ 02 апреля 2020

Pandas 0.24.0 имеют быструю реализацию для загрузки данных в PostgreSQL базу данных на своем сайте . Я скопировал метод в свое приложение django и использую его так:

def insertData():
    # download some data into a dataframe df...
    engine = create_engine('postgresql://user:password@host:port/name')
    df.to_sql(name='HistData', con=engine, if_exists="append", method=psql_insert_copy)

Вот так выглядит модель django:

class HistData(models.Model):
    """A model representing a stock's data on a specific date"""
    # Fields
    stock = models.ForeignKey('Stock', on_delete=models.CASCADE, related_name='histData', 
    null=False)

    date = models.DateField(verbose_name='Date Correspondence', name='date', null=False)
    openVal = models.FloatField(verbose_name='Open Value', name='open', null=True)
    closeVal = models.FloatField(verbose_name='Close Value', name='close', null=True)
    adjCloseVal = models.FloatField(verbose_name='Adjacent Close Value', name='adjClose', null=True)
    highVal = models.FloatField(verbose_name='Highest Value', name='high', null=True)
    lowVal = models.FloatField(verbose_name='Lowest Value', name='low', null=True)
    volume = models.FloatField(verbose_name='Volume', name='volume', null=True)

Когда я запускаю приложение и попытаться активировать метод insertData() Я получаю одну из следующих ошибок: либо Table "histdata" already exists, либо relation "histdata" does not exist, однако я убедился, что таблица существует. Я рассмотрел другие способы сделать это, в основном из здесь , и все же я не могу заставить его работать. Кто-нибудь знает, что я делаю не так?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...