json转csv

article/2025/4/24 21:56:29

json转csv

  • 原数据
  • 完整代码
  • 代码解读
  • 后续

第一次遇到原本的json格式数据,但是ArcGIS软件不认json,于是需要转成csv格式。本篇将讲解如何读取本地json格式数据,并转为csv格式的。

原数据

先来看一看原来数据长什么模样
在这里插入图片描述
json格式在我电脑里面长的像一个乐谱一样,用Notepad++软件打开就是那种一层一层嵌套的格式,和python里面的字典格式非常像,从第一个中括号“{”开始,后面的都是一对一对的这种键值对的形式出现,一个城市名,一个经纬度,如

'海门市': [121.15, 31.89]

并用逗号隔开。
在这里插入图片描述

完整代码

在弄清楚数据长什么样的之后,接下来就是写代码的事情了

# -*- coding: utf-8 -*-
"""
Created on Fri Feb  7 09:57:54 2020
project name:json转csv
@author: 帅帅de三叔
"""
import csv #导入csv模块
filename = '中国333个地级及以上城市经纬度坐标.json'
file= open(filename, 'r', encoding='UTF-8') #打开json格式文件
with open("中国地级以上城市经纬度.csv", "w+",newline='') as csv_file:  #新建csv格式文件writer=csv.writer(csv_file) #对象化header=["城市", "经度", "纬度"] #构造表头writer.writerow(header) #写入表头for line in file: #按行读取原json格式数据if ":" in line: #如果有冒号的行row=line.split(":") #分裂city=row[0].replace("'","").strip() #提取城市名lng=row[1].split(",")[0].replace("[","") #提取经度lat=row[1].split(",")[1].replace("]","") #提取纬度print(city,lng,lat) data_row=[city,lng,lat] #组成一条数据writer.writerow(data_row) #写入csvcsv_file.close()  #关闭csv文件

代码解读

由于第一次读取本地json格式数据,此处写清楚一些,首先用open函数把中国333个地级及以上城市经纬度坐标.json以读取的方式并加以utf8编码方式的文件打开

file= open(filename, 'r', encoding='UTF-8') #打开json格式文件

打开之后就对行进行循环,由于第一行是个文件名称,故只处理带冒号的行

for line in file: #按行读取原json格式数据if ":" in line: #如果有冒号的行

对每一行进行城市名称,经度,纬度三个字段的提取工作,这里主要用来split函数来分裂,和replace函数来去掉其他字符,最后把三者组合成一条数据写入到csv里面去,保存即可,文件夹下面多出一个csv文件
在这里插入图片描述

后续

为了方面以后查阅,此处增加json模块下的两个重量级函数

函数描述
json.dumps将 Python 对象编码成 JSON 字符串
json.lodads将已编码的 JSON 字符串解码为 Python 对象

这个在爬虫的时候可能会用到,今日暂且记录一下,等以后碰到再详细讲解。

在这里插入图片描述


http://chatgpt.dhexx.cn/article/I9S57xGb.shtml

相关文章

JSON格式的文件转csv

这里处理的json文件没有后缀名,下面是处理之前的文件内容 处理之后的csv文件其实就是正常的excel文件,不一样的是有乱码,因为脚本里面使用的是utf-8编码,这里给出乱码解决方案 使用记事本打开csv,然后另存为选择编码格…

【Python小程序】第3讲:如何将json数据转换成csv格式?

机器学习训练营——机器学习爱好者的自由交流空间(入群联系qq:2279055353) JSON介绍 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,方便人们阅读和编写。任何支持的数据类型都可以通过json来表示,例如…

UML 包图

概述 包图是 UML 一种用以显示包和包之间的依赖关系的结构性图表。 包图是一种结构图,显示了中大型项目中模型元素的排列和组织。包图可以显示子系统或模块之间的结构和依赖性,并显示系统的不同视图。 目的 包图图用于构造高级系统元素。软件包用于组织…

(转载)UML各种图总结

UML(Unified Modeling Language)是一种统一建模语言,为面向对象开发系统的产品进行说明、可视化、和编制文档的一种标准语言。下面将对UML的九种图包图的基本概念进行介绍以及各个图的使用场景。 一、基本概念   如下图所示,UM…

【UML】------图

一、引言 在上一篇博客中给大家介绍了UML中的视图,在结尾的时候根据自己的理解有把图和视图之间的包含关系总结了一下,那么在这篇博客中我将结合实例来介绍UML中的图。 二、基本内容 1、用例图(Use Case Diagram) (1&a…

[跟我学UML] UML包图中的包引入和包合并

缩略语 UIS UML Infrastructure Specification UML基础结构规范 UML Unifed Modeling Language 统一建模语言 USS UML Superstructure Specification UML上层结构规范 参考资料 《UML Infrastructure Specification, v2.2》 《UML Superstructure Spec…

[完全免费] 在线UML Package Diagram 包图工具 - 教程第4部分

封装图显示了中型到大型项目中模型元素的布置和组织,可用于显示子系统或模块之间的结构和相关性。 (一键即时打开使用) 什么是UML中的包图? 大系统提供特殊挑战。为大型系统绘制班级模型,而且它太大而难以理解。类之间有太多的联系要理解。处…

UML总结—包图(Package Diagram)

一、什么是包 在面向对象的软件开发过程中,类显然是构建整个系统的基本构造块。但是对于庞大的应用系统而言,包含的类是成百上千的,再加上其间“阡陌纵横”的关联关系,多重性等,必然大大超出了人们可以处理的复杂度。…

UML- 包图

前言 感觉包图萌萌哒,不知道你们是什么样的感觉呢~ 正文 what 1、包图是由包和包之间的关系构成的。 2、逻辑上把复杂的图模块化。 who 阶段:可行性分析,概要设计。 作用 1、维护和控制系统总体结构的重要建模工具。 元素 类、接口…

UML之包图(Package Diagram)

前言 包图,一个包字就体现出了它的包容性一定是非强大,在具体了解之后,感觉包图真是如此。 正文 概念 一个”包图”可以是任何一种的UML图组成,通常是UML用例图或UML类图。 包是一个UML结构,它使得你能够把诸如用例…

写在MyUML发布090515_2版之际

前段时间针对一些问题,做了一次校正。本来准备等待我的代码生成引擎写好后一并发布的,但是我想,要完善代码生成引擎需要一段不短的时间(我自己也估计不出来),所以昨天将更正后的版本发布了。 对软件添加的内…

【UML学习】--包图

【前言】 包图是怎么来的? 在面向对象开发的概念里,类是构造整个系统的基本构造块。但是一个庞大的系统中包含的类是成百上千个的,而且这些类之间的关系也是阡陌交错,所以处理起来十分复杂,这时候就引入了“包”这个概…

UML—Package Diagram

随着程序软件越来越复杂,一个程序往往包含了数百个类。管理这些类的有效方法就是将类进行分组,将功能相似或相关的类组织在一起。包图是一种维护和描述系统总体结构模型的重要建模工具 包的构成: 1.包的名称 2.包的元素 包自身所拥有的元素…

【UML】9种图+包图

导读:在UML的学习中,介绍了9种图,外加一个包图。这9种图和4大关系,可以说是UML的一个核心内容。我根据自己的笔记,以及查阅的一些资料,对这9种图和包图,做一个总结。 一、基本定义 1、1 总体…

MyUML Features myeclipse 中的 MYUML 的功能

MyUML Features myeclipse 中的 MYUML 的功能7 UML Diagrams: 7种图表 Use-case diagram 用况图 Class diagram 类图 Sequence diagram 顺序图 Collaboration diagram 协作图 State diagram 状态图 Activity diagram 行为图 Deployment diagram 配置图Integrated Diagram Edit…

MyUML Designer开源项目(支持UML2.2规范)第一版本即将发布

经过努力, MyUML Designer开源项目第一版本即将发布. 计划在本月发布第一个版本. MyUML Designer基于Eclipse 3.5开发, 完全实现UML2.2规范. 先贴几个截图, 本版本尽量使图形简洁和漂亮. 后续工作还在进行中. MyUML Designer Project: http://myumldesigner.googlecode.com M…

UML——包图

一、包图的含义 包图(Package Diagram)由包和包之间的关系构成,对维护和控制系统总体结构很重要。系统建模中,有大量的类、接口、组件、节点和图,有必要将这些元素进行分组,把语义相近并倾向一起变化的元素…

UML图详解(九)包图

一、概述 维护和控制系统总体结构的重要建模工具方便理解和处理整个模型设计良好的包是高内聚、低耦合的,并对其内容的访问具有严密的控制 包的内容:拥有或引用的模型元素。包的实例没有任何语义。 仅在建模时有意义,而不必转换到可执行的系…

UML包图

UML包图 基本概述 包图(Package Diagram)是UML中的组织图形,其能有效的组织好各种UML图和表达思路,其功能是组织包内元素,控制访问。 基本语法 解释: 1、包有包的名字和包之间的关系。 2、包之间的关系有三种: 1、包…

UML 之 包图

包图(Package Diagram) 包图可以是任何一种的UML图组成,通常是UML用例图或UML类图。 包是一个UML结构,它使得你能够把诸如用例或类之类模型元件组织为组。 包被描述成文件夹,可以应用在任何一种UML图上。 虽然…