Python读取JSON多行数据并批量插入MySQL数据库
本文介绍如何使用Python将多行JSON格式数据批量写入MySQL数据库。通过逐行读取文件、解析JSON对象,并利用pymysql库的executemany方法执行批量插入操作,实现高效的数据入库。文中提供了完整的代码示例及数据库连接配置说明。
Python实现JSON多行数据导入MySQL
本文主要讲解如何利用Python脚本将多行JSON格式的数据导入到MySQL数据库中。
数据库表与字符集配置要求
在执行插入操作前,需确保目标表已预先创建。数据库字符集建议设置为utf8,若遇到特殊字符兼容性问题,可尝试调整为utf8mb4。
核心代码实现与逻辑解析
import json
import pymysql
def reviewdata_insert(db):
with open('data.txt', encoding='utf-8') as f:
i = 0
while True:
i += 1
print(u'正在载入第%s行......' % i)
try:
lines = f.readline() # 使用逐行读取的方法
review_text = json.loads(lines) # 解析每一行数据
result = []
result.append((review_text['id'], review_text['created_at'], review_text['content'],
review_text['source'], review_text['reports_count'], review_text['comments_count'],
review_text['attitudes_count']))
print(result)
inesrt_re = "insert into review(id,created_at,content,source,reports_count,comments_count,attitudes_count) values(%s,%s,%s,%s,%s,%s,%s)"
cursor = db.cursor()
cursor.executemany(inesrt_re, result)
db.commit()
except Exception as e:
db.rollback()
print(str(e))
break
if __name__ == "__main__": # 起到一个初始化或者调用函数的作用
db = pymysql.connect("192.168.67.41", "root", "123456", "data", charset='utf8')
cursor = db.cursor()
reviewdata_insert(db)
cursor.close()
总结与支持
以上内容为本文的全部介绍,希望能为读者的学习提供便利,同时也欢迎大家继续支持本站发布的技术文章。
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









