如何正确使用熊猫快速to_sql方法?

时间:2020-04-02 17:32:41

标签: python django pandas postgresql

Pandas 0.24.0具有将数据加载到PostgreSQL数据库in their website中的快速实现。我将方法复制到了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 existsrelation "histdata" does not exist,但是我确保该表存在。 我已经研究了其他方法,主要是从here开始,但是似乎无法正常工作。有人知道我在做什么错吗?

0 个答案:

没有答案