Python- value .tolist()列表的列表



我需要从db表中读取单个列作为值列表。我试着用下面的代码行来做:

ids_list = (pd.read_sql_query(q, db_internal.connection)).values.tolist()

当我使用values.tolist()时,它会按照文档所说的做,即将df转换为列表的列表:

[['0x0043Fcb34e7470130fDe28198571DeE092c70Bd7'],
['0x00f93fBf00F97170B6cf295DC58888073CB5c2b8'],
['0x01FE650EF2f8e2982295489AE6aDc1413bF6011F'],
['0x0212133321479B183637e52942564162bCc37C1D']]

因为我读的是单列,所以我想把它转换成值的列表,而不是列表的列表:

['0x0043Fcb34e7470130fDe28198571DeE092c70Bd7',
'0x00f93fBf00F97170B6cf295DC58888073CB5c2b8',
'0x01FE650EF2f8e2982295489AE6aDc1413bF6011F',
'0x0212133321479B183637e52942564162bCc37C1D']

怎么做呢?我一直在寻找解决方案,专注于列表的列表

将tolist()生成的列表转换为只包含第一个元素的列表。

ids_list = list(i[0] for i in (pd.read_sql_query(q, db_internal.connection)).values.tolist())

您可以简单地遍历列表:

[i for i in ids_list[0]]

我希望这对你有帮助。