python实现将json多行数据传入到mysql中使用

yipeiwu_com5年前Python基础

将json多行数据传入到mysql中使用python实现

表需要提前创建,字符集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设计】。

相关文章

Python中字典的基础知识归纳小结

定义一个字典 >>> d = {"server":"mpilgrim", "database":"master"} 1 >>> d {'serve...

python判断一个对象是否可迭代的例子

如何判断一个对象是可迭代对象? 方法是通过collections模块的Iterable类型判断: >>> from collections import Iter...

Python DataFrame.groupby()聚合函数,分组级运算

pandas提供了一个灵活高效的groupby功能,它使你能以一种自然的方式对数据集进行切片、切块、摘要等操作。根据一个或多个键(可以是函数、数组或DataFrame列名)拆分panda...

Python中的单行、多行、中文注释方法

Python中的单行、多行、中文注释方法

一、python单行注释符号(#) python中单行注释采用 #开头 示例:#this is a comment 二、批量、多行注释符号 多行注释是用三引号”' ”'包含的,例如:...

详解django中自定义标签和过滤器

详解django中自定义标签和过滤器

想要实现自定义标签和过滤器需要进行准备工作: 准备(必需)工作: 1  在某个app下创建一个名为templatetags(必需,且包名不可变)的包。假设我们在名为polls的...