Python实现读取json文件到excel表

yipeiwu_com6年前Python基础

本文实例为大家分享了Python实现读取json文件到excel表,供大家参考,具体内容如下

一、需求

1、'score.json' 文件内容:

{
  "1":["小花",99,100,98.5],
  "2":["小王",90,30.5,95],
  "3":["小明",67.5,49.6,88]
}

2、读取json文件保存到数据库,并计算出每个人的总分和平均分 

二、实现代码

import json, xlwt


def read_score(jsonfile):
  with open(jsonfile, encoding='utf-8') as f: # 将json文件转化为字典
    score_all = json.load(f)

  book = xlwt.Workbook() # 创建excel文件
  sheet = book.add_sheet('sheet1') # 创建一个表
  title = ['序号', '姓名', '语文', '数学', '英语', '总分', '平均分']
  for col in range(len(title)): # 存入第一行标题
    sheet.write(0, col, title[col])
  row = 1 # 定义行
  for k in score_all:
    data = score_all[k] # data保存姓名和分数的list
    data.append(sum(data[1:4])) # 倒数第二列加入总分
    data.append(sum(data[1:4]) / 3.0) # 最后一列加入平均分
    data.insert(0, k) # 第一列加入序号
    for index in range(len(data)): # 依次写入每一行
      sheet.write(row, index, data[index])
    row += 1
  book.save('score.xls')


read_score('score.json')

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python面向对象_详谈类的继承与方法的重载

python面向对象_详谈类的继承与方法的重载

1. 类的继承与方法的重载 上面就是先定义了一个类A,然后由定义了一个类B,B继承了类A,这样B就有了A的非私有属性和方法。 class Washer: company='...

pymysql 开启调试模式的实现

pymysql 开启调试模式的实现

今天在排查线上一个奇怪的数据库连接问题,所以打开了 pymysql 的源码在阅读,发现 pymysql 在其 connections 模块里内置了一个 DEBUG 变量用于控制是否开启调...

Python自动发邮件脚本

Python自动发邮件脚本

缘起 这段时间给朋友搞了个群发邮件的脚本,为了防止进入垃圾邮件,做了很多工作,刚搞完,垃圾邮件进入率50%,觉得还不错,如果要将垃圾邮件的进入率再调低,估计就要花钱买主机了,想想也就算了...

python实现图片批量剪切示例

复制代码 代码如下:import osfrom PIL import Image #批量剪切目录下图片for j in range(10,121):   ...

PyQT5 emit 和 connect的用法详解

PyQT5 emit 和 connect的用法详解

对于PyQT4, PyQT5在一些使用上有着比较明显的变化有很大的变化,让人惊讶是在emit和connect上的一些变化比较有意思,相信也是QT为了更好的和Python相结合做的改进。...