一、准备工作
要将本地JSON大数据文件写入MySQL数据库,需要先做好以下准备工作:
- 安装Python3开发环境及必要的包;
- 安装MySQL数据库,并创建好对应的表。
二、Python实现将本地JSON大数据文件写入MySQL数据库的步骤
- 读取JSON文件内容
使用Python内置的json库,读取本地的JSON大数据文件。代码如下:
import json
with open('data.json', 'r', encoding='utf-8') as file:
data = json.load(file)
- 连接MySQL数据库
使用Python的pymysql库建立与MySQL数据库的连接,并创建一个光标对象。代码如下:
import pymysql
conn = pymysql.connect(host='localhost', port=3306, user='root', password='123456', db='test', charset='utf8')
cursor = conn.cursor()
其中,host为MySQL服务主机地址;port为端口;user为连接用户名;password为连接密码;db为连接的数据库名。
- 写入数据
将读取到的JSON数据导入到MySQL数据库中,需要遍历JSON数据,逐条将数据存储到MySQL数据库中。代码如下:
for item in data:
sql = "INSERT INTO my_table (id, name, age) VALUES ('%s', '%s', '%d')" % (item['id'], item['name'], item['age'])
cursor.execute(sql)
conn.commit()
其中,my_table是MySQL中已经创建好的表名,id、name、age是表中的字段名,需与JSON数据对应。循环遍历数据时,通过%s来表示占位符,将JSON数据中的值填充到该占位符中。
- 断开与MySQL的连接
完成数据写入后,关闭光标对象和MySQL数据库连接,释放相关资源。代码如下:
cursor.close()
conn.close()
三、示例说明
- 示例1
数据集合格式如下:
[
{
"id": "1",
"name": "Tom",
"age": 18
},
{
"id": "2",
"name": "Jerry",
"age": 20
}
]
读取数据文件data.json中的内容并将数据写入MySQL数据库的my_table表中:
import json
import pymysql
with open('data.json', 'r', encoding='utf-8') as file:
data = json.load(file)
conn = pymysql.connect(host='localhost', port=3306, user='root', password='123456', db='test', charset='utf8')
cursor = conn.cursor()
for item in data:
sql = "INSERT INTO my_table (id, name, age) VALUES ('%s', '%s', '%d')" % (item['id'], item['name'], item['age'])
cursor.execute(sql)
conn.commit()
cursor.close()
conn.close()
- 示例2
数据集合格式如下:
{
"user1": {
"id": "1",
"name": "Tom",
"age": 18
},
"user2": {
"id": "2",
"name": "Jerry",
"age": 20
}
}
读取数据文件data.json中的内容并将数据写入MySQL数据库的my_table表中:
import json
import pymysql
with open('data.json', 'r', encoding='utf-8') as file:
data = json.load(file)
conn = pymysql.connect(host='localhost', port=3306, user='root', password='123456', db='test', charset='utf8')
cursor = conn.cursor()
for key in data:
sql = "INSERT INTO my_table (id, name, age) VALUES ('%s', '%s', '%d')" % (data[key]['id'], data[key]['name'], data[key]['age'])
cursor.execute(sql)
conn.commit()
cursor.close()
conn.close()
以上两个示例均是将JSON数据写入MySQL表中,具体代码中的数据读取和插入SQL语句可以根据实际情况作出修改。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python3实现将本地JSON大数据文件写入MySQL数据库的方法 - Python技术站