Chciałbym przekonwertować psycopg2 DictRow
zapytania do dataframe pandy, ale wciąż pandy skarży:Konwersja psycopg2 DictRow zapytanie do Pandy dataframe
curs = conn.cursor(cursor_factory=psycopg2.extras.DictCursor)
curs.execute("SELECT * FROM mytable")
data = curs.fetchall()
print type(data)
print pd.DataFrame(list(data))
Ja jednak zawsze pojawia się błąd, chociaż specjalnie uchwalił list
?? ?
<type 'list'>
TypeError: Expected list, got DictRow
Rezultat jest taki sam jeśli ja pd.DataFrame(data)
Może ktoś mi pomóc dokonać tej pracy?
Byłoby również miło, gdyby działały nazwy kolumn ramki danych (tj. Wyodrębnić DictRow
i przekazać je do ramki danych).
Update:
Ponieważ potrzebne do przetwarzania danych, jak na to, że korzystając z danych z zapytaniem psycopg2 jak i nie pandas approach np read_sql_query
.
Otworzył wydanie na GitHub: https://github.com/pydata/pandas/issues/14169 – n1000