python - 无法将 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)
解决方案
fetchall
返回一个元组列表。因此,pandas 无法知道列名。
您可以使用它mycursor.description
来查找列名并在创建 DataFrame 时使用它
columns = [col[0] for col in mycursor.description]
data = mycursor.fetchall()
df = pd.DataFrame(data, columns=columns)
推荐阅读
- javascript - 此 JS 代码查找数组中最大值的索引,但它是如何工作的?
- java - 我使用“minecraft-launcher-lib”创建更简单的启动器的代码不断抛出错误
- javascript - useEffect 和 useContext 有问题,反应原生
- javascript - 给定单词的长度和要查看的字符集,我们能否预测暴力破解单词所需的时间?
- mysql - MySQL中按日期排除的项目
- javascript - 如何在 React 中动态调整 Bootstrap Overlay/Popover 的位置?
- laravel - 如何使 php SDK 的更改与 Laravel 中的 Git 一起使用
- kotlin - java.lang.SecurityException:没有写入/storage/emulated/0/Download/的权限
- reactjs - 用相同的组件拍摄照片和视频反应原生
- sql - 如何制作我的 WHERE 语句来过滤基于当前月份的 5 个月动态范围的第一天?