Подтвердить что ты не робот

Импорт данных из базы данных MySQL в фреймворк Pandas, включая имена столбцов

Я импортирую данные из базы данных MySQL в фреймворк Pandas. Следующий фрагмент - это код, который я использую:

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)

Когда я печатаю фрейм данных, он правильно отображает данные, но мой вопрос: возможно ли сохранить имена столбцов? Вот пример вывода:

                          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   

Мне бы хотелось сохранить имя столбца, которое заменило бы индексы столбцов Pandas. Например, вместо 0 имя столбца будет: "First_column", как в таблице MySQL. Есть ли хороший способ сделать это? или существует более эффективный подход к импортированию данных из MySQL в кадр данных Pandas, чем мой?

4b9b3361

Ответ 1

IMO было бы гораздо эффективнее использовать pandas для чтения данных с вашего сервера MySQL:

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

это также должно заботиться о именах столбцов...