如何将数据库读取的单列DataFrame转为值列表而非列表的列表?
单列数据库数据转单层值列表的解决方法
以下几种方法都能把你得到的嵌套列表转成单层值列表:
方法1:直接取DataFrame的列转为列表
如果知道查询的列名,用列名索引最稳妥:
ids_list = pd.read_sql_query(q, db_internal.connection)['你的列名'].tolist()
如果不确定列名,也可以用位置索引取第一列:
ids_list = pd.read_sql_query(q, db_internal.connection).iloc[:, 0].tolist()
方法2:用numpy扁平化数组
利用values返回的numpy数组的flatten()或ravel()方法快速扁平化:
# 使用flatten ids_list = pd.read_sql_query(q, db_internal.connection).values.flatten().tolist() # 使用ravel ids_list = pd.read_sql_query(q, db_internal.connection).values.ravel().tolist()
方法3:Python列表推导式手动拆解
用基础的列表推导式遍历嵌套列表,提取每个子列表的第一个元素:
ids_list = [row[0] for row in pd.read_sql_query(q, db_internal.connection).values.tolist()]
内容的提问来源于stack exchange,提问作者Agnes
相关产品推荐
相关产品推荐

