Ich importiere Daten aus einer MySQL-Datenbank in einen Pandas-Datenrahmen. Der folgende Auszug ist der Code, den ich verwende:Importieren von Daten aus einer MySQL-Datenbank in einen Pandas-Datenrahmen mit Spaltennamen
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)
Wenn ich den Datenrahmen drucken Sie es richtig, die Daten darstellt, sondern meine Frage ist, ist es möglich, die Spaltennamen auch zu halten? Hier ist ein Beispiel für die Ausgabe:
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
Was würde ich tun möchte, ist auf den Spaltennamen zu halten, die die Pandas Spaltenindizes ersetzen würde. Zum Beispiel würde der Spaltenname anstelle von 0 lauten: "First_column" wie in der MySQL-Tabelle. Gibt es einen guten Weg, dies zu tun? Oder gibt es einen effizienteren Ansatz zum Importieren von Daten aus MySQL in einen Pandas-Datenrahmen als meiner?
warum Sie nicht verwenden [ pd.read_sql()] (http://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_sql.html)? – MaxU