Just for completeness I'm linking to source code to reproduce the problem: play/sqlalchemy-and-pandas at main ยท metaperl/play (github.com) <https://github.com/metaperl/play/tree/main/sqlalchemy-and-pandas>
Looks like the 1.4 release of pandas will remedy this problem. On Wednesday, September 1, 2021 at 3:07:39 AM UTC-4 cfede...@gmail.com wrote: > Hi, > > This is a pandas bug, not an sqlalchemy ones. It was already reported here > https://github.com/pandas-dev/pandas/issues/40682 > > On Tuesday, 31 August 2021 at 23:15:04 UTC+2 Gord Thompson wrote: > >> *With version 1.3:* >> >> Base = declarative_base() >> >> >> class User(Base): >> __tablename__ = "user" >> id = Column(Integer, primary_key=True) >> name = Column(String) >> >> >> Base.metadata.create_all(engine) >> >> print(pd.__version__) # 1.3.2 >> print(sa.__version__) # 1.3.24 >> >> session = Session(engine) >> session.add_all([User(name="Gord"),User(name="Bob"),]) >> session.commit() >> result_set = session.query(User.id, User.name) >> df = pd.DataFrame(result_set) >> print(df) >> """ >> id name >> 0 1 Gord >> 1 2 Bob >> """ >> >> *With version 1.4:* >> >> print(pd.__version__) # 1.3.2 >> print(sa.__version__) *# 1.4.23* >> >> session = Session(engine) >> session.add_all([User(name="Gord"),User(name="Bob"),]) >> session.commit() >> result_set = session.query(User.id, User.name) >> df = pd.DataFrame(result_set) >> print(df) >> """ >> 0 1 >> 0 1 Gord >> 1 2 Bob >> """ >> >> On Tuesday, August 31, 2021 at 2:38:18 PM UTC-6 Mike Bayer wrote: >> >>> >>> >>> On Tue, Aug 31, 2021, at 3:10 PM, Terrence-Monroe: Brannon wrote: >>> >>> >>> Creating a pandas dataframe that contained descriptive column names >>> formerly was as easy as: >>> >>> result_set = session.query(cls.column_1) >>> df = pandas.Dataframe(result_set) >>> print df.column_1 >>> >>> but while this works in 1.3.20, in later versions of SA such as 1.4.19, >>> there is not enough column info supplied by SA to form the same symbolic >>> column names. Thus, the above code would fail when attempting to access >>> df.column_1 in SA 1.4.19 but not fail in SA 1.3.20. >>> >>> >>> >>> not familiar with this change, nothing should have changed with how >>> session.query() returns rows and this may be some incompatibility with >>> pandas. Upgrade to the latest Pandas and make sure the behavior remains, >>> then please provide an MCVE, thanks >>> >>> >>> >>> >>> >>> Anyway to supply a flag to query() to provide the extra column that >>> existed in older SA versions? >>> >>> >>> -- >>> SQLAlchemy - >>> The Python SQL Toolkit and Object Relational Mapper >>> >>> http://www.sqlalchemy.org/ >>> >>> To post example code, please provide an MCVE: Minimal, Complete, and >>> Verifiable Example. See http://stackoverflow.com/help/mcve for a full >>> description. >>> --- >>> You received this message because you are subscribed to the Google >>> Groups "sqlalchemy" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to sqlalchemy+...@googlegroups.com. >>> To view this discussion on the web visit >>> https://groups.google.com/d/msgid/sqlalchemy/2664002d-25cc-450d-bc51-8652a7df3d53n%40googlegroups.com >>> >>> <https://groups.google.com/d/msgid/sqlalchemy/2664002d-25cc-450d-bc51-8652a7df3d53n%40googlegroups.com?utm_medium=email&utm_source=footer> >>> . >>> >>> >>> -- SQLAlchemy - The Python SQL Toolkit and Object Relational Mapper http://www.sqlalchemy.org/ To post example code, please provide an MCVE: Minimal, Complete, and Verifiable Example. See http://stackoverflow.com/help/mcve for a full description. --- You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To unsubscribe from this group and stop receiving emails from it, send an email to sqlalchemy+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/sqlalchemy/38ec6f0c-63bc-4182-950a-b0b3bdff597cn%40googlegroups.com.