python读取mysql数据并转换成json
时间: 2024-09-20 22:02:29 浏览: 51
在Python中,你可以使用`pymysql`库连接MySQL数据库,然后通过`json`模块将查询结果转换为JSON格式。以下是一个简单的步骤示例:
1. 首先,你需要安装`pymysql`库,如果尚未安装,可以使用pip安装:
```
pip install pymysql
```
2. 连接到MySQL数据库,假设你已经有了数据库连接信息(如host、port、username、password和database名):
```python
import pymysql
connection = pymysql.connect(host='your_host', port=your_port,
user='your_username', password='your_password',
db='your_database')
```
3. 创建游标对象并执行SQL查询:
```python
cursor = connection.cursor()
query = "SELECT * FROM your_table"
cursor.execute(query)
results = cursor.fetchall()
```
4. 将查询结果转换为列表,每个元素对应一条记录,然后再转换为字典,最后用`json.dumps()`函数转换为JSON字符串:
```python
records_as_dicts = [dict(row) for row in results]
json_data = json.dumps(records_as_dicts)
```
5. 最后关闭连接:
```python
connection.close()
```
完整的例子:
```python
import pymysql
import json
# 数据库连接配置
config = {
'host': 'your_host',
'user': 'your_username',
'password': 'your_password',
'db': 'your_database'
}
# 连接数据库
connection = pymysql.connect(**config)
# 执行查询
cursor = connection.cursor()
query = "SELECT * FROM your_table"
cursor.execute(query)
# 获取所有行
results = cursor.fetchall()
# 转换为字典列表
records = [dict(zip(cursor.column_names, row)) for row in results]
# 转换为JSON
json_output = json.dumps(records)
# 关闭连接
connection.close()
print(json_output)
```
阅读全文