下面我来分享一下关于“python将类似json的数据存储到MySQL中”的攻略。
步骤一:创建表格
首先需要在MySQL数据库中创建一张表格,用于存储 JSON 数据。表格的结构应该包含键值对两个字段,分别对应 JSON 数据的键和值。
我们可以使用以下 SQL 语句创建这个表格:
CREATE TABLE json_data (
id int(11) NOT NULL AUTO_INCREMENT,
key varchar(255) NOT NULL,
value longtext NOT NULL,
PRIMARY KEY (id)
);
步骤二:安装Python中的MySQL库
接下来,需要在 Python 环境中安装 MySQL 数据库所需的库。可以通过 pip 来安装以下两个库:
pip install pymysql
pip install mysql-connector-python
步骤三:连接数据库
在 Python 中连接 MySQL 数据库需要传入数据库连接参数。以下是一个连接示例:
import pymysql
connection = pymysql.connect(
host='localhost',
user='root',
password='root',
db='test'
)
其中,host
为数据库服务器地址,user
和 password
为权限认证所需的用户名和密码,db
为连接的数据库名称。
步骤四:读取 JSON 数据并存入数据库
现在,我们已经完成了连接数据库的过程,接下来就是读取 JSON 数据并存入数据表。这里提供两个示例:一个从文件中读取 JSON 数据,另一个通过 API 请求获取 JSON 数据。
1. 将 JSON 数据从文件中读出并存入 MySQL
import json
import pymysql
# 连接 MySQL 数据库
connection = pymysql.connect(
host='localhost',
user='root',
password='root',
db='test'
)
# 读取 JSON 文件并解析成 Python 中的数据类型
with open('/path/to/json/file.json') as f:
json_data = json.load(f)
# 将数据存入数据库
with connection.cursor() as cursor:
for key, value in json_data.items():
cursor.execute(
"INSERT INTO json_data (key, value) VALUES (%s, %s)",
(key, json.dumps(value))
)
# 提交更改并关闭数据库连接
connection.commit()
connection.close()
我们使用了 Python 中的 json
库将 JSON 文件解析成字典,然后再将字典写入数据库。此外,要注意将值转换为字符串存储。
2. 通过API获取 JSON 数据并存入 MySQL
import json
import requests
import pymysql
# 连接 MySQL 数据库
connection = pymysql.connect(
host='localhost',
user='root',
password='root',
db='test'
)
# API 请求数据
response = requests.get('https://example.com/api/data')
json_data = response.json()
# 将数据存入数据库
with connection.cursor() as cursor:
for key, value in json_data.items():
cursor.execute(
"INSERT INTO json_data (key, value) VALUES (%s, %s)",
(key, json.dumps(value))
)
# 提交更改并关闭数据库连接
connection.commit()
connection.close()
此示例通过 Python 自带的 requests
库获取数据。获取到的数据封装在 JSON 中,然后使用之前的方法将数据存储到 MySQL 数据库。
步骤五:从数据库中获取 JSON 数据
在将 JSON 存储到 MySQL 数据库后,需要从数据库中取出数据进行使用。以下是一个从数据库中取出 JSON 数据的示例:
import json
import pymysql
# 连接 MySQL 数据库
connection = pymysql.connect(
host='localhost',
user='root',
password='root',
db='test'
)
# 查询数据表获取JSON数据
with connection.cursor() as cursor:
cursor.execute("SELECT key,value FROM json_data")
rows = cursor.fetchall()
# 将数据反序列化为 Python 字典
json_data = {}
for row in rows:
json_data[row[0]] = json.loads(row[1])
# 打印 JSON 数据
print(json_data)
connection.close()
这个示例中使用 SELECT
语句查询出表格中的数据,再将数据反序列化为 Python 的数据类型。最后,我们使用 print
输出 JSON 数据。
以上是 Python 将 JSON 数据存储到 MySQL 中的攻略和实例。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python将类似json的数据存储到MySQL中的实例 - Python技术站