Python读取JSON多行数据并批量插入MySQL数据库

拾柒
拾柒
发布时间:2026-10-13 | 1人浏览过
原创

本文介绍如何使用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()

总结与支持

以上内容为本文的全部介绍,希望能为读者的学习提供便利,同时也欢迎大家继续支持本站发布的技术文章。

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表