csv 字符串_Python实现json转csv格式
利用Python实现json格式转换为csv文件格式
前言
本文是学校的课程设计,这里我没有用封装好的json库来实现,而是把读进来的文件当一个字符串来处理,核心函数其实是python的eval()类型转换函数。
什么是 JSON?
我们要考虑到json格式下key-value对的结构是无序的。JSON:JavaScript Object Notation(JavaScript 对象表示法),是存储和交换文本信息的语法。有点类似 XML,JSON 比 XML 更小、更快,更易解析,同时删除了不必要的元素信息。
读取文件
首先读取文件数据到data_str, 这里注意文件编码,否则会出现乱码。
with
观察一下读取的json内容
print
json文件格式
- 对象可以包含多个 key/value(键/值)对。
- key 必须是字符串,value 可以是合法的 JSON 数据类型(字符串, 数字, 对象, 数组, 布尔值或 null)。
- key 和 value 中使用冒号(:)分割。
- 每个 key/value 对使用逗号(,)分割。
替换元素
对json文件做一个替换,这里这样替换是有问题的,因为从前向后扫描的时候只有在引号外的元素才需要替换,可以对扫过的引号数量取模实现。
data_str
类型函数
判断当前的字符串属于哪个类型
def
head函数的实现
遍历获得json的所有key作为csv的表头
data_head
body内容的转换
data_head_dict保存转换后CSV的body内容
data_head_dict
宽度的拓展,这里实现的时候比较暴力。解决方案如下: 1. 最后自底向上删空行 2. 处理head的时候加tag记录行号
for
看一下表的内容是否正确
for
输出CSV文件
with
以utf-8编码格式输出文件
with
5 rows × 116 columns
csv 字符串_Python实现json转csv格式相关推荐
- php json字符串导出csv,使用PHP将JSON转换为CSV格式
我正在尝试使用 PHP脚本将json文件转换为csv格式.代码如下: if (empty($argv[1])) die("The json file name or URL is misse ...
- 用python的pandas打开csv文件_python读写数据读写csv文件(pandas用法)
python中数据处理是比较方便的,经常用的就是读写文件,提取数据等,本博客主要介绍其中的一些用法.Pandas是一个强大的分析结构化数据的工具集;它的使用基础是Numpy(提供高性能的矩阵运算);用 ...
- python pandas 处理相同标题的csv文件_Python使用pandas处理CSV文件的实例讲解
Python中有许多方便的库可以用来进行数据处理,尤其是Numpy和Pandas,再搭配matplot画图专用模块,功能十分强大. CSV(Comma-Separated Values)格式的文件是指 ...
- csv 字符串_爬虫|python读写csv文件的方法完成生涯规划表
前面用PrettyTable制作了生涯规划表,今天突然想到其实可以用Python读写Excel文件,还可以制作Excel表格,相对而言,感觉csv的读写更简单,所以决定用csv改写生涯规划案例,以后教 ...
- python如何导出csv文件_python pandas如何输出csv文件
python pandas如何输出csv文件mp.weixin.qq.com 有如下csv文件,在读取之后,如何输出为同样的格式 1.常见用法 >>> df.to_csv(r'D: ...
- python合并csv文件_Python学习——pandas 合并csv文件
import pandas as pd import os import re import numpy as np Folder_Path = r'C:/Users/Cable-Ching\Desk ...
- python 序列化压缩成字符串_Python 将json序列化后的字符串转换成字典(推荐)
一般而言下面的就可以完成需求了. def convertToDic(data): jsonDic=json.loads(data) return dict(jsonDic) 但实际应用中可能会出现一些 ...
- python指定目录生成.csv文件_python文件处理-根据csv文件内容,将对应图像拷贝到指定文件夹...
#-*- coding: utf-8 -*- importcsvimportosimportsysimportnumpy as npimportcopyimportshutilimportpandas ...
- 如何在命令行中使用jq将JSON转换为CSV
by Knut Melvær 通过纳特·梅尔瓦 如何在命令行中使用jq将JSON转换为CSV (How to transform JSON to CSV using jq in the command ...
最新文章
- 如何通过 Scratch 教小朋友编程思维?
- php fileputcontents,在php中file_put_contents函数起什么作用呢?
- BCompare注册文件+密钥被撤销解决方案
- stealwatch里的安全功能——ETA结果会显示加密套件以及key长度,还有流量大小(例如41MB)...
- python与excel做数据可视化-python数据可视化怎么做?excel可视化图表制作?
- Android帧布局(Frame Layout)
- codeforces 数论分析题
- oracle备份归档文件,oracle 如何不备份已经备份的归档
- [JavaWeb-JavaScript]JavaScript变量
- [SDOI2012]吊灯(结论)
- [html] 怎样去除iOS和Android中的输入URL地址的控件条呢?
- Spring 容器(Spring 的上下文)
- android 邮箱注册功能,手机邮箱怎么注册登录(安卓手机邮箱设置教程)
- 信息安全管理的效益分析
- 知识图谱在应用过程中,主要面临哪些困难?
- 如何正确安装和设置IBM Lotus Notes 邮箱客户端
- 使用paddlepaddle进行手写数字识别
- 几万年前,孙悟空大闹地府后删库跑路了!那阎王生死簿又该怎么写呢?
- 安卓开发环境教程!史上最强vue总结来了,大厂直通车!
- STM32 CubeMx教程 -- 基础知识及配置使用教程
热门文章
- oracle 超市管理系统,SuperManager 超市账单管理系统
JSP + Servlet + Oracle Jsp/ 240万源代码下载- www.pudn.com...
- python计算执行时间的函数_[python] 统计函数运行时间
- 计算器软件C语言课程设计实验报告,c简单计算器实验报告_相关文章专题_写写帮文库...
- Docker+Nginx部署Angular国际化i18n
- CSS 字体(font)实例
- Guava翻译系列之EventBus
- informatica中元数据管理
- 1593: [Usaco2008 Feb]Hotel 旅馆
- a20隐藏底部按钮及隐藏状态栏和虚拟按键栏
- malloc coredump(宕)的问题