【问题标题】:Get data from Postgres to Flask and convert to pandas dataframe从 Postgres 获取数据到 Flask 并转换为 pandas 数据框
【发布时间】:2018-11-10 00:02:42
【问题描述】:

我有一个可以从 csv 运行的 Flask 应用程序。我将 csv 作为新表放在 postgres 中,但在不中断应用程序的情况下更改数据连接时遇到问题。

目前,csv 是在类对象下读入的。在此对象中,我过滤数据、创建查找表并运行机器学习算法(为简单起见未显示)。我注释掉了我试图从 postgres 的 my_db 中的购买表中获取数据的代码。在 postgres 数据中最终是一个 pandas 数据框。

class Recommender(object):

    def __init__(self):

        # df = pd.read_sql_query('select * from "purchases"',con=engine)
        # self.df = df
        df = pd.read_csv('data/20171027.csv', encoding='ISO-8859-1')
        df.date_commande_client = pd.to_datetime(df['date_commande_client'],
                                                 format='%m/%d/%y')


        df = filter_by_order_count(df) #more stuff after this


        return df 

我试图从 postgres 中读取相同的数据,但它不起作用。我不应该在类对象中读取它吗?

作为参考,我尝试添加这些导入并创建引擎:

from flask_sqlalchemy import SQLAlchemy
from sqlalchemy import create_engine
engine = create_engine('postgresql://user:passowrd@localhost/my_db')

app = Flask(__name__)
app.config['SECRET_KEY'] = '1234'

【问题讨论】:

  • 但它不起作用...没有帮助。请向我们显示错误或不希望的结果。

标签: python postgresql pandas flask


【解决方案1】:

以防万一:我的问题是我创建的 postgres 数据库中的列名被折叠为小写,而我的代码有一些大写。一旦我更改了某些列名,它就起作用了。请看:Are PostgreSQL column names case-sensitive?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-04
    • 2013-01-09
    • 2019-02-24
    • 2021-02-10
    • 2021-07-23
    • 2014-08-19
    • 2017-03-10
    • 2019-05-14
    相关资源
    最近更新 更多