我需要从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]]
我希望这对你有帮助。