Sto importando i dati da un database MySQL in un frame di dati Pandas. Il brano che segue è il codice che sto usando:Importazione di dati da un database MySQL in un frame di dati di Pandas inclusi i nomi delle colonne
import mysql.connector as sql
import pandas as pd
db_connection = sql.connect(host='hostname', database='db_name', user='username', password='password')
db_cursor = db_connection.cursor()
db_cursor.execute('SELECT * FROM table_name')
table_rows = db_cursor.fetchall()
df = pd.DataFrame(table_rows)
Quando stampo il frame di dati che non rappresentano correttamente i dati, ma la mia domanda è, è possibile mantenere anche i nomi di colonna? Ecco un esempio di output:
0 1 2 3 4 5 6 7 8
0 :ID[giA0CqQcx+(9kbuSKV== NaN NaN None None None None None None
1 lXB+jIS)DN!CXmj>0(P8^]== NaN NaN None None None None None None
2 lXB+jIS)DN!CXmj>0(P8^]== NaN NaN None None None None None None
3 lXB+jIS)DN!CXmj>0(P8^]== NaN NaN None None None None None None
4 lXB+jIS)DN!CXmj>0(P8^]== NaN NaN None None None None None None
Quello che vorrei fare è mantenere il nome della colonna, che dovrebbe sostituire gli indici di colonna panda. Ad esempio, invece di avere 0, il nome della colonna sarebbe: "First_column" come nella tabella MySQL. C'è un buon modo per fare questo? oppure esiste un approccio più efficiente dell'importazione di dati da MySQL in un frame di dati Pandas rispetto al mio?
Perché non usare [ pd.read_sql()] (http://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_sql.html)? – MaxU