如何使用 `mysql.connector` 使用 `pd.read_sql`
Posted
技术标签:
【中文标题】如何使用 `mysql.connector` 使用 `pd.read_sql`【英文标题】:How to use `pd.read_sql` using `mysql.connector` 【发布时间】:2020-10-28 03:04:32 【问题描述】:我知道我们可以使用与mysql.connector
不同的包来读取sql
,但由于我只知道mysql.connector
,所以我想用它来读取sql
中的表格并将其保存为pandas 中的dataframe
。
我的代码如下。
import mysql.connector
import pandas as pd
mydb = mysql.connector.connect(
host = 'localhost',
user = 'root',
passwd = '*',
database = 'mydatabase'
)
mycursor = mydb.cursor()
query = "SELECT * FROM my table"
df = pd.read_sql(query, mycursor)
我不确定最后一行是df = pd.read_sql(query, mycursor)
。我想我在这里遗漏了一些论点。
你能帮帮我吗?
【问题讨论】:
【参考方案1】:试试这个代码
import mysql.connector as sql
import pandas as pd
db_connection = sql.connect(host='hostname', database='db_name',
user='username', password='password')
df = pd.read_sql('SELECT * FROM table_name', con=db_connection)
【讨论】:
【参考方案2】:您需要将df = pd.read_sql(query, mycursor)
替换为df = pd.read_sql_query(query, mydb)
,因为您想使用查询创建DataFrame
(确保传递mydb
而不是mycursor
)。
【讨论】:
我收到此错误:AttributeError: 'CMySQLCursor' 对象没有属性 'cursor'。它不起作用。以上是关于如何使用 `mysql.connector` 使用 `pd.read_sql`的主要内容,如果未能解决你的问题,请参考以下文章
使用 Python mysql.connector 远程连接 MySQL
使用 Python mysql.connector 成功插入 MySQL 数据后丢失
使用 python 库 mysql.connector 将 csv 插入 MySQL 数据库