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 exists
或relation "histdata" does not exist
,但是我确保该表存在。
我已经研究了其他方法,主要是从here开始,但是似乎无法正常工作。有人知道我在做什么错吗?