首页 > 解决方案 > 无法将 mysql 中的列键获取到 pandas 数据框

问题描述

我有一个 Xampp 服务器正在运行,我正在尝试从 pandas 数据框中的 mysql 数据库中获取一个表,正在完美地获取数据,但是没有设置密钥,我们将不胜感激。

import mysql.connector
import pandas as pd

my_db = mysql.connector.connect(
    host="localhost",
    username="",
    password="",
    database="test",
)
mycursor = my_db.cursor()

mycursor.execute('Select * from customers')
data = mycursor.fetchall()
df = pd.DataFrame(data)

print(df)

标签: pythonmysqlpandas

解决方案


fetchall返回一个元组列表。因此,pandas 无法知道列名。

您可以使用它mycursor.description来查找列名并在创建 DataFrame 时使用它

columns = [col[0] for col in mycursor.description]
data = mycursor.fetchall()
df = pd.DataFrame(data, columns=columns)

推荐阅读