相关疑难解决方法(0)

从pyodbc execute()语句返回列名

from pandas import DataFrame
import pyodbc

cnxn = pyodbc.connect(databasez)
cursor.execute("""SELECT ID, NAME AS Nickname, ADDRESS AS Residence FROM tablez""")
DF = DataFrame(cursor.fetchall())
Run Code Online (Sandbox Code Playgroud)

这可以填充我的pandas DataFrame.但我怎么得到

DF.columns = ['ID', 'Nickname', 'Residence']
Run Code Online (Sandbox Code Playgroud)

直接从光标?该信息是否完全存储在光标中?

python pyodbc pandas

35
推荐指数
4
解决办法
4万
查看次数

SQLAlchemy execute()将ResultProxy作为Tuple返回,而不是dict

我有以下代码:

query = """
SELECT Coalesce((SELECT sp.param_value
                 FROM   sites_params sp
                 WHERE  sp.param_name = 'ci'
                        AND sp.site_id = s.id
                 ORDER  BY sp.id DESC
                 LIMIT  1), -1) AS ci
FROM   sites s
WHERE  s.deleted = 0
       AND s.id = 10 

"""

site = db_session.execute(query)
# print site 
# <sqlalchemy.engine.result.ResultProxy object at 0x033E63D0>

site = db_session.execute(query).fetchone()
print site  # (u'375')
print list(site) # [u'375']
Run Code Online (Sandbox Code Playgroud)

为什么SQLAlchemy会为此查询返回元组而不是dicts?我想使用以下样式来访问查询的结果:

print site.ci
# u'375'
Run Code Online (Sandbox Code Playgroud)

python sqlalchemy

11
推荐指数
5
解决办法
5万
查看次数

使用SQLAlchemy动态获取列名

我正在使用SQLAlchemy查询sqlite数据库,如下所示:

import db

...

results = session.query(table).all()
        for result in results:
            print result
            print "how to print column name?"
Run Code Online (Sandbox Code Playgroud)

这是db类的片段:

class Device(Base):
    __tablename__ = "devices"
    name = Column(String(250), primary_key=True)
    location = Column(String(250), nullable=False)

    def __init__(self, name, location):
        self.name = name
        self.location = location
Run Code Online (Sandbox Code Playgroud)

尝试根据文档抛出的结果对结果使用“ .column_descriptions”时出现“'list'对象没有属性'column_descriptions'”错误。

动态获取列名和值的正确方法是什么?我想要这个,所以我可以构建一个函数来处理所有查询的json转换,而不是到处重复代码。

python sql sqlite sqlalchemy python-2.7

3
推荐指数
1
解决办法
6262
查看次数

标签 统计

python ×3

sqlalchemy ×2

pandas ×1

pyodbc ×1

python-2.7 ×1

sql ×1

sqlite ×1