2016-06-09 21 views
20

sütun adlarını içeren bir Pandalar veri çerçevesine veri alma Bir MySQL veritabanından bir Pandas veri çerçevesine veri alıyorum. Ben verileri doğru şekilde göstermek gelmez veri çerçeveyi yazdırmak ama benim sorum olduğundaBir MySQL veritabanından

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) 

, aynı zamanda sütun adlarını tutmak mümkündür: Aşağıdaki alıntı kullanıyorum kodudur?

      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 

Ne yapmak istiyorum pandalar sütun dizinleri yerini alacak sütun adı, tutmak: İşte bir örnek çıkışıdır. Örneğin, 0 yerine, sütun adı: MySQL tablosundaki gibi "First_column" olur. Bunun için iyi bir yol var mı? ya da MySQL'den bir Pandas veri çerçevesine veri aktarımı benimkinden daha verimli bir yaklaşım var mı? IMO

+0

neden [kullanmayın pd.read_sql()] (http://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_sql.html)? – MaxU

cevap

28

çok daha etkili MySQL sunucusundan okuma verileri için pandalar kullanmak olacaktır:

df = pd.read_sql('SELECT * FROM table_name', con=db_connection) 

bu da sütun adları dikkatli olmalıdır ...

İlgili konular