Python中读取文件中的json串,并将其写入到Excel表格中
Json:JavaScript Objective Notation,是一种轻量级的数据交换格式。Json最广泛的应用是作为AJAX中web服务器和客户端的通讯的数据格式。现在也常用语http请求中,,所以对json的学习也是自然而然的事情。
有一个存着学生成绩的文件,文件中存的是json串,json串读起来特别不直观,写一个小程序,将它们写到excel表中,并计算出总分和平均分,json串格式如下:
{
"":["小花",99,100,98.5],
"":["小王",90,30.5,95],
"":["小明",67.5,49.6,88]
}
demo.py
import json,xlwt
def readExcel(file):
with open(file,'r',encoding='utf8') as fr:
data = json.load(fr) # 用json中的load方法,将json串转换成字典
return data
def writeM():
a = readExcel('json')
print(a)
title = ["学号","姓名","语文成绩","数学成绩","英语成绩","总分","平均分"]
book = xlwt.Workbook() # 创建一个excel对象
sheet = book.add_sheet('Sheet1',cell_overwrite_ok=True) # 添加一个sheet页
for i in range(len(title)): # 循环列
sheet.write(0,i,title[i]) # 将title数组中的字段写入到0行i列中
for line in a: # 循环字典
print('line:',line)
sheet.write(int(line),0,line) # 将line写入到第int(line)行,第0列中
summ = a[line][1] + a[line][2] + a[line][3] # 成绩总分
sheet.write(int(line),5,summ) # 总分
sheet.write(int(line),6,summ/3) # 平均分
for i in range(len(a[line])):
sheet.write(int(line),i+1,a[line][i])
book.save('demo.xls') if __name__ == '__main__':
writeM()
结果:

Python中读取文件中的json串,并将其写入到Excel表格中的更多相关文章
- Node.js中读取文件后用Json.parse方法报错
今天,在调试一个node项目时,发现了一个很大的坑,在此分享给大家! 大家都知道,Json.parse()方法对格式要求是很严格的,格式不对极其容易报错,但是有时候格式看似是正确的也会报错. 比如这一 ...
- Node.js中读取文件后用Json.parse方法报错解决方案
今天,在调试一个node项目时,发现了一个很大的坑,在此分享给大家! 大家都知道,Json.parse()方法对格式要求是很严格的,格式不对极其容易报错,但是有时候格式看似是正确的也会报错. 比如这一 ...
- python读取excel表格中的数据
使用python语言实现Excel 表格中的数据读取,需要用到xlrd.py模块,实现程序如下: import xlrd #导入xlrd模块 class ExcelData(): def __init ...
- 文件_ _android从资源文件中读取文件流并显示的方法
======== 1 android从资源文件中读取文件流并显示的方法. 在android中,假如有的文本文件,比如TXT放在raw下,要直接读取出来,放到屏幕中显示,可以这样: private ...
- 用adb pull命令从android系统中读取文件失败的原因及解决办法
问题:使用adb pull命令从android系统中读取文件失败.显示:Permission denied 原因:是由于文件权限原因引起. 使用ls -l命令查看android系统中的 ...
- Java中读取文件
Java中读取文件,去除一些分隔符,保存在多维数组里面 public void readFile(String filePath) { File file=new File(filePath); Ar ...
- 如何配置一个路径,能够既适合Linux平台,又适合Windows平台,可以从这个路径中读取文件
如何配置一个路径,能够既适合Linux平台,又适合Windows平台,可以从这个路径中读取文件? 目的:就是希望在项目的配置文件中配上一样的路径,不管协作者使用的是什么平台,都能够读到文件. 比如:L ...
- PHP中读取文件的几个方法
整理了一下PHP中读取文件的几个方法,方便以后查阅. 1.fread string fread ( int $handle , int $length ) fread() 从 handle 指向的文件 ...
- R中读取文件,找不到路径问题 No such file or directory
R中读取文件,找不到路径问题 No such file or directory 近日,读取文件时.出现例如以下问题 > passenger = read.csv('internationa ...
随机推荐
- Dedecmsv5.7整合ueditor 图片上传添加水印
最近的项目是做dedecmsv5.7的二次开发,被要求上传的图片要加水印,百度ueditor编辑器不支持自动加水印,所以,找了很多资料整合记录一下,具体效果图 这里不仔细写dedecmsv5.7 整合 ...
- 暂时关闭 windows 病毒防护
- 『MXNet』第六弹_Gluon性能提升
一.符号式编程 1.命令式编程和符号式编程 命令式: def add(a, b): return a + b def fancy_func(a, b, c, d): e = add(a, b) f = ...
- centos7-jdk快速安装
安装之前先检查一下系统有没有自带open-jdk 命令: rpm -qa |grep java rpm -qa |grep jdk rpm -qa |grep gcj 如果没有输入信息表示没有安装. ...
- js定义类
以下是es5标准里定义类的方法: function Point(x,y){ this.x=x; this.y=y; } Point.prototype.toString=function(){ ret ...
- Spring Boot 是什么?
Spring Boot 2.0 的推出又激起了一阵学习 Spring Boot 热,那么, Spring Boot 诞生的背景是什么?Spring 企业又是基于什么样的考虑创建 Spring Boot ...
- mysql索引注意事项
mysql使用索引的注意事项 1.索引不会包含有NULL值的列 只要列中包含有NULL值都将不会被包含在索引中,复合索引中只要有一列含有NULL值,那么这一列对于此复合索引就是无效的.所以我们在数据库 ...
- 解决Maven下载依赖慢的问题(转)
使用Maven构建项目时,项目中有的依赖包可能下载的非常慢,我们可以通过配置镜像来解决这个问题. 之前开源中国的那个好像已经关闭了,于是我找到了一个阿里的来解决. 在Maven的配置文件(%MAVEN ...
- PAT 1050 String Subtraction
1050 String Subtraction (20 分) Given two strings S1 and S2, S=S1−S2 is defined to be t ...
- virtualbox不能安装64位操作系统
现在virtualbox 还是比较好用的虚拟机.新建立一个不同的操作系统还是非常方便. virtualbox下载地址 https://www.virtualbox.org/wiki/Download ...