python json格式和csv文件转换
python json格式和csv文件转换
上代码
import csv
import json '''
json格式示例
[{ "firstName":"Bill" , "lastName":"Gates" }, { "firstName":"George" , "lastName":"Bush" }, { "firstName":"Thomas" , "lastName":"Carter" }]
'''
#file:json to csv
def transcsv(jsonpath, csvpath):
json_file = open(jsonpath, 'r', encoding='utf8')
csv_file = open(csvpath, 'w', newline='')
#读文件
ls = json.load(json_file) #将json格式的字符串转换成python的数据类型,解码过程
data = [list(ls[0].keys())] # 获取列名,即key
for item in ls:
data.append(list(item.values())) # 获取每一行的值value
#写入文件
for line in data:
csv_file.write(",".join(line) + "\n") # 以逗号分隔一行的每个元素,最后换行 fw.close() #关闭csv文件
#关闭文件
json_file.close()
csv_file.close()
#file:csv to json
def transjson(jsonpath, csvpath):
fw = open(jsonpath, 'w', encoding='utf8') # 打开csv文件
fo = open(csvpath, 'r', newline='') # 打开csv文件 ls = []
for line in fo:
line = line.replace("\n", "") # 将换行换成空
ls.append(line.split(",")) # 以,为分隔符
#print(ls)
#写入
for i in range(1, len(ls)): # 遍历文件的每一行内容,除了列名
ls[i] = dict(zip(ls[0], ls[i])) # ls[0]为列名,所以为key,ls[i]为value,
# zip()是一个内置函数,将两个长度相同的列表组合成一个关系对 json.dump(ls[1:], fw, sort_keys=True, indent=4)
#将Python数据类型转换成json格式,编码过程
#默认是顺序存放,sort_keys是对字典元素按照key进行排序
#indet参数用语增加数据缩进,使文件更具有可读性 # 关闭文件
fo.close()
fw.close() if __name__ == '__main__':
#transcsv('./testcase/my.json', './testcase/my.csv')
transjson('./testcase/write.json', './testcase/my.csv')
my.json文件内容:
[{ "firstName":"Bill" , "lastName":"Gates" }, { "firstName":"George" , "lastName":"Bush" }, { "firstName":"Thomas" , "lastName":"Carter" }]
python json格式和csv文件转换的更多相关文章
- Python json格式处理
Python json格式处理 首先放一段代码 import requests import jsonpath import json f=open('ip.txt','r',encoding='ut ...
- C#工具:CSV文件转换帮助类
CSV是逗号分隔值格式的文件,其文件以纯文本形式存储表格数据(数字和文本).CSV文件由任意数目的记录组成,记录间以某种换行符分隔:每条记录由字段组成,字段间的分隔符是其它字符或字符串,最常见的是逗号 ...
- 【转载】 C#工具类:Csv文件转换类
CSV是逗号分隔值格式的文件,其文件以纯文本形式存储表格数据(数字和文本).CSV文件由任意数目的记录组成,记录间以某种换行符分隔:每条记录由字段组成,字段间的分隔符是其它字符或字符串,最常见的是逗号 ...
- 将对象以json格式写入到文件中
将 list 对象以json格式写入到文件中 try { ObjectMapper mapper = new ObjectMapper(); String value = mapper.writeVa ...
- Python处理json格式的数据文件(一些坑、一些疑惑)
这里主要说最近遇到的一个问题,不过目前只是换了一种思路先解决了,脑子里仍然有疑惑,只能怪自己太菜. 最近要把以前爬的数据用一下了,先简单的过滤一下,以前用scrapy存数据的时候为了省事也为了用一下它 ...
- python csv文件转换成xml, 构建新xml文件
csv文件 code from xml.etree.ElementTree import Element,ElementTree,tostring import json,csv def csvtox ...
- 彻底理解使用JavaScript 将Json数据导出CSV文件
前言 将数据报表导出,是web数据报告展示常用的附带功能.通常这种功能都是用后端开发人员编写的.今天我们主要讲的是直接通过前端js将数据导出Excel的CSV格式的文件. 原理 首先在本地用Excel ...
- xls/csv文件转换成dbf文件
转至:https://blog.csdn.net/linhai1028/article/details/80211252 编写的一个小脚本,主要是利用python中的pandas,xlrd,dbfpy ...
- python笔记5-python2写csv文件中文乱码问题
前言 python2最大的坑在于中文编码问题,遇到中文报错首先加u,再各种encode.decode. 当list.tuple.dict里面有中文时,打印出来的是Unicode编码,这个是无解的. 对 ...
随机推荐
- python开发【第1篇】【基础知识】
1.python解释执行原理 python代码——字节码——机器码——计算机 每次运行都要进行转换成字节码,然后再有虚拟机把字节码转换成机器语言,最后才能在硬件上运行. 2.python编码 unic ...
- UVA 11927 - Games Are Important(sg函数)
UVA 11927 - Games Are Important option=com_onlinejudge&Itemid=8&page=show_problem&catego ...
- poj1151==codevs 3044 矩形面积求并
Atlantis Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 21511 Accepted: 8110 Descrip ...
- YTU 2626: B 统计程序设计基础课程学生的平均成绩
2626: B 统计程序设计基础课程学生的平均成绩 时间限制: 1 Sec 内存限制: 128 MB 提交: 427 解决: 143 题目描述 程序设计基础课程的学生成绩出来了,老师需要统计出学生 ...
- P1198 [JSOI2008]最大数(线段树)
P1198 [JSOI2008]最大数(线段树) 题目描述 现在请求你维护一个数列,要求提供以下两种操作: 1. 查询操作. 语法:Q L 功能:查询当前数列中末尾L个数中的最大的数,并输出这个数的值 ...
- python-----列表生成式和列表生成器表达
列表表达式: 程序一: 常规写法: L = [] for x in range(1, 11): L.append(x * x) print(L) #[1, 4, 9, 16, 25, 36, 49, ...
- bzoj2558
哈希+拓扑排序 题意比较绕,先开始没看懂就看了发程序,发现好像理解的不太一样,后来找到了一个题目解释... 摘自jcvb:其实就是说颜色相同且三个出口分别对应相同(注意有可能是合并后才相同)两个结点是 ...
- System.out.println()的含义
system是java.lang包中定义的一个内置类,在该类中定义了一个静态对象out out是PrintStream类的实例对象 println是PrintStream类中的方法
- F5 SSLVPN 的安装问题
WIN10下安装SSLVPN问题 1.右击计算机 -->选择管理-->查看安装的插件是否显示感叹号 2.如果显示感叹号-->则进行更新驱动-->>手动选择-->网络 ...
- java 线程开元篇
学习java的读者都知道,Java的每个对象都会有默认的12个方法,这12个方法分别是 object() finalize() hashCode() equals() wait() wait(long ...