如何将pymysql 查询结果转为dataframe格式
时间: 2023-12-10 13:03:18 浏览: 60
可以使用 pandas 库将 pymysql 查询结果转为 dataframe 格式。具体代码如下:
```python
import pandas as pd
import pymysql
# 连接 MySQL 数据库
conn = pymysql.connect(host='localhost', user='username', password='password', database='database_name', charset='utf8')
# 查询语句
sql = 'SELECT * FROM table_name'
# 使用 pandas 读取 MySQL 数据库中的数据并转为 dataframe 格式
df = pd.read_sql(sql, conn)
# 关闭数据库连接
conn.close()
```
其中,`host`、`user`、`password`、`database` 分别为连接 MySQL 数据库所需要的参数,`charset` 指定字符集。`sql` 为查询语句,可以根据实际情况进行修改。最后使用 `pd.read_sql()` 方法将查询结果转为 dataframe 格式,存储在变量 `df` 中。最后别忘记关闭数据库连接。
相关问题
如何将pymysql 查询结果转为转为列表,不用pandas情况下
可以使用 `fetchall()` 方法将查询结果转换为元组(tuple)列表,然后再将元组转换为列表(list)。示例代码如下:
```python
import pymysql
# 连接数据库
conn = pymysql.connect(host='localhost', port=3306, user='root', password='123456', db='test')
# 创建游标对象
cur = conn.cursor()
# 执行查询语句
cur.execute("SELECT * FROM users")
# 获取查询结果并转为列表
result = [list(row) for row in cur.fetchall()]
# 关闭游标和连接
cur.close()
conn.close()
# 输出查询结果
print(result)
```
这样,查询结果就会被转换为列表形式,并存储在 `result` 变量中。
pymysql查询结果返回json格式
可以使用pymysql.cursors.DictCursor游标来返回查询结果为字典格式,然后使用json.dumps()方法将字典转换为JSON格式字符串。
以下是一个示例代码:
```python
import pymysql
import json
# 连接数据库
conn = pymysql.connect(host='localhost', user='root', password='password', db='test', charset='utf8mb4')
# 获取游标
cursor = conn.cursor(pymysql.cursors.DictCursor)
# 执行查询
sql = "SELECT * FROM users"
cursor.execute(sql)
# 获取查询结果,并将结果转换为JSON格式字符串
results = cursor.fetchall()
json_str = json.dumps(results, ensure_ascii=False)
# 关闭游标和连接
cursor.close()
conn.close()
# 输出JSON格式字符串
print(json_str)
```
上述代码中的json.dumps()方法中的ensure_ascii=False参数是为了保证中文字符不被转义为Unicode码。