Python 如何从sqlalchemy中删除查询结果的括号

Python 如何从sqlalchemy中删除查询结果的括号,python,sqlalchemy,Python,Sqlalchemy,我知道这是一件非常简单的事情,但我不记得该怎么做 基本上,我希望函数select_data返回的结果是 比如: 与当前返回的内容不同: [(u'something',), (u'something_a',)(u'something_b',)] 下面是我正在使用的代码块: import sqlalchemy from sqlalchemy import Table, exc, and_ from sqlalchemy.ext.declarative import declarative_base

我知道这是一件非常简单的事情,但我不记得该怎么做

基本上,我希望函数select_data返回的结果是 比如:

与当前返回的内容不同:

[(u'something',), (u'something_a',)(u'something_b',)]
下面是我正在使用的代码块:

import sqlalchemy
from sqlalchemy import Table, exc, and_
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker

from configurations import config_loader

hostname = config_loader.get('db_config', 'hostname')
db_name = config_loader.get('db_config', 'db_name')
db_port = config_loader.get('db_config', 'db_port')
login = config_loader.get('db_config', 'db_login')
pwd = config_loader.get('db_config', 'db_pwd')
sample_table = config_loader.get('db_tables', 'some_table')


con_string = 'mysql+mysqlconnector://{login}:{passwd}@{hostname}:{port}/{db}'

engine_str = con_string.format(
    login=login, passwd=pwd, hostname=hostname, port=db_port, db=db_name
)

try:
    engine = sqlalchemy.create_engine(engine_str, echo=False)
    session = sessionmaker(bind=engine)
    connection = engine.connect()
    session = session(bind=connection)
    Base = declarative_base()
except exc.SQLAlchemyError:
    raise


def select_data(server):
    t = Table(some_table, Base.metadata, autoload_with=engine)
    stm = session.query(t.c.data_name).filter(
        t.c.server == server
    )
    return stm.all()
您的代码返回的是。应通过添加以下代码来提取元组:

raw_data = select_data(server)
data = [item[0] for item in raw_data]
还有一种方法可以提取:

import operator

raw_data = select_data(server)
data = map(operator.itemgetter(0), raw_data)
有关的详细信息。

您的代码返回的。应通过添加以下代码来提取元组:

raw_data = select_data(server)
data = [item[0] for item in raw_data]
还有一种方法可以提取:

import operator

raw_data = select_data(server)
data = map(operator.itemgetter(0), raw_data)

有关的详细信息。

已解决。强制跨步[0]是一种很好的做法?为了避免u'?SQLAlchemy返回unicode对象,str函数将它们转换为字符串类型。关于如何解决这一差异,我们进行了全面的解释。强制跨步[0]是一种很好的做法?为了避免u'?SQLAlchemy返回unicode对象,str函数将它们转换为字符串类型。不同之处在如何操作上得到了全面的解释: