python解析json文件信息到csv中
json格式多种多样,本代码着重看函数部分
import json, csv, os
import pandas as pd
josns_root = 'jsons'
csvs_root = 'csvs'
list_josn = os.listdir(josns_root)
for bb in list_josn:
path_json_ = bb #请修改json路径
path_json = os.path.join(josns_root, path_json_)
path_csv_ = path_json_.split('.')[0]+'.csv'
path_csv = os.path.join(csvs_root, path_csv_)
if os.path.exists(path_csv):
print('路径已存在,请解决冲突', path_csv)
exit()
open(path_csv, 'w').close()
list_ = [200,50,51]
f = open(path_json, encoding='utf-8') # 载入json文件
setting = json.load(f)
data = setting['data']
data1 = data['imgs']
print(type(data1))
headers = ['fov_id', 'cells_fit', 'cells_P', 'cells_N']
with open(path_csv, 'a')as csvfile:
writer = csv.writer(csvfile)
writer.writerow(headers) # 写每列标题
csvfile.close()
cnt = 1
for i in data1:
print('当前FOV编号:',cnt)
cnt = cnt + 1
i_dict = dict(i)
FOV_id = i_dict['id']
cells = i_dict['cells']
type_la = []
total_la = []
for m in cells:
m_dict = dict(m)
type_ = m_dict['type']
total = m_dict['total']
#print(type_, total)
type_la.append(type_)
total_la.append(total)
out_ = dict(zip(type_la,total_la))
str1 = [None,None,None]
cnt_ = 0
cnt__ = 0
for lala in list_:
if len(list(out_.keys())) == 0:
continue
if lala in list(out_.keys()):
str1[cnt_] = list(out_.values())[cnt__]
cnt__ = cnt__ + 1
cnt_ = cnt_ + 1
rows = [str(FOV_id), str1[0], str1[2], str1[1]]
with open(path_csv, 'a')as csvfile:
writers = csv.writer(csvfile, delimiter=',')
writers.writerow(rows) # 按行写入csv
csvfile.close()
print('==============task OK!================')
python解析json文件信息到csv中的更多相关文章
- python解析json文件之简介
一.JSON简介 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于JavaScript(Standard ECMA-262 3rd Edition ...
- python解析jSON文件
一.jSON文件 http://baike.baidu.com/link?url=wYeeLnhpXX-Tt8AoBRSNPh2P7Z2YHyK2tdD1tbBOQMfJIpA-YNHMOg2ZN6a ...
- python解析json文件报错No JSON object could be decoded
2017-04-25 可用Nodepad++将json文件打开并以UTF8无BOM格式保存.
- python 解析json loads dumps
认识 引用模块 重要函数 案例 排序 缩进参数 压缩 参考 认识 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于JavaScript(Standa ...
- python脚本解析json文件
python脚本解析json文件 没写完.但是有效果.初次尝试,写的比较不简洁... 比较烦的地方在于: 1,中文编码: pSpecs.decode('raw_unicode_escape') 2,花 ...
- Logstash:解析 JSON 文件并导入到 Elasticsearch 中
转载自:https://elasticstack.blog.csdn.net/article/details/114383426 在今天的文章中,我们将详述如何使用 Logstash 来解析 JSON ...
- 使用Python解析JSON数据的基本方法
这篇文章主要介绍了使用Python解析JSON数据的基本方法,是Python入门学习中的基础知识,需要的朋友可以参考下: ----------------------------------- ...
- 【TensorFlow】Python解析xml文件
最近在项目中使用TensorFlow训练目标检测模型,在制作自己的数据集时使用了labelimg软件对图片进行标注,产生了VOC格式的数据,但标注生成的xml文件标签值难免会产生个别错误造成程序无法跑 ...
- Python解析Wav文件并绘制波形的方法
资源下载 #本文PDF版下载 Python解析Wav文件并绘制波形的方法 #本文代码下载 Wav波形绘图代码 #本文实例音频文件night.wav下载 音频文件下载 (石进-夜的钢琴曲) 前言 在现在 ...
随机推荐
- Java实现 LeetCode 282 给表达式添加运算符
282. 给表达式添加运算符 给定一个仅包含数字 0-9 的字符串和一个目标值,在数字之间添加二元运算符(不是一元)+.- 或 * ,返回所有能够得到目标值的表达式. 示例 1: 输入: num = ...
- Java实现 LeetCode 173 二叉搜索树迭代器
173. 二叉搜索树迭代器 实现一个二叉搜索树迭代器.你将使用二叉搜索树的根节点初始化迭代器. 调用 next() 将返回二叉搜索树中的下一个最小的数. 示例: BSTIterator iterato ...
- Java实现LeetCode_0001_Two Sum
import java.util.Arrays; import java.util.Scanner; public class TwoSum_1 { public static void main(S ...
- Java实现 洛谷 P1089 津津的储蓄计划
import java.util.*; public class Main { public static void main(String[] args) { Scanner sc=new Scan ...
- Java实现第九届蓝桥杯小朋友崇拜圈
小朋友崇拜圈 题目描述 班里N个小朋友,每个人都有自己最崇拜的一个小朋友(也可以是自己). 在一个游戏中,需要小朋友坐一个圈, 每个小朋友都有自己最崇拜的小朋友在他的右手边. 求满足条件的圈最大多少人 ...
- IOS App如何调用python后端服务
本篇文章旨在通过一个小的Demo形式来了解ios app是如何调用python后端服务的,以便我们在今后的工作中可以清晰的明白ios app与后端服务之间是如何实现交互的,今天的示例是拿登录功能做一个 ...
- JSP+SSM+Mysql实现的学生成绩管理系统
项目简介 项目来源于:https://gitee.com/z77z/StuSystem 本系统是基于JSP+SSM+Mysql实现的学生成绩管理系统.主要实现的功能有教师管理.学生管理.课程管理.学生 ...
- 基于Azure IoT开发.NET物联网应用系列-全新的Azure IoT架构
物联网技术已经火了很多年了,业界各大厂商都有各自成熟的解决方案.我们公司主要搞新能源汽车充电,充电桩就是物联网技术的最大应用,车联网.物联网.互联网三网合一.2017年的时候重点研究过Azure Io ...
- Redis集群-主从模式
1.架构设计 集群在单台主机上模拟搭建6个节点(3主3从的集群): 2.配置 创建与端口相同的文件夹存储Redis配置文件和持久化文件. 目录如下: 每个节点配置文件如下: 节点1: bind 192 ...
- 聊一聊Asp.net过滤器Filter那一些事
最近在整理优化.net代码时,发现几个很不友好的处理现象:登录判断.权限认证.日志记录.异常处理等通用操作,在项目中的action中到处都是.在代码优化上,这一点是很重要着力点.这是.net中的过滤器 ...