Python- list of lists with values.tolist()

Question:

I need to read a single column from db table as a list of values. I tried to do that with following line of code:

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

when I use the values.tolist() it does what documentation says, that is turns the df into list of lists:

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

Because I am reading single column, I would like to transform it into list of values, not list of lists:

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

What would be a way to do that? I keep on finding solutions that are focused on list of lists

Asked By: Agnes

||

Answers:

You can simply iterate through the list with:

[i for i in ids_list[0]]

I hope this helps.

Answered By: cout

Just convert tolist() generated list into list with the first element only.

ids_list = list(i[0] for i in (pd.read_sql_query(q, db_internal.connection)).values.tolist())
Answered By: Prabhas Kumar
Categories: questions Tags: ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.