Python中csv格式和json格式之间的转换

Python中csv格式和json格式之间的转换

json是处理JSON格式的Python标准库
1、cvs格式转成json格式

import json
fo=open("C:\\Users\\Administrator\\Desktop\\price2016.csv","r")  #打开csv文件
ls=[]
for line in fo:
    line=line.replace("\n","")  #将换行换成空
    ls.append(line.split(","))  #以,为分隔符
fo.close()  #关闭文件流
fw=open("C:\\Users\\Administrator\\Desktop\\price2016.json","w")  #打开json文件
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参数用语增加数据缩进,使文件更具有可读性
fw.close()

2、json格式转成csv格式

import json
fr=open("C:\\Users\\Administrator\\Desktop\\price2016.json","r")  #打开json文件
ls=json.load(fr)  #将json格式的字符串转换成python的数据类型,解码过程
data=[ list(ls[0].keys()) ]  #获取列名,即key
for item in ls:
    data.append(list(item.values()))  #获取每一行的值value
fr.close()  #关闭json文件

fw=open("C:\\Users\\Administrator\\Desktop\\price2016.csv","w")  #打开csv为文件
for line in data:
    fw.write(",".join(line)+"\n")  #以逗号分隔一行的每个元素,最后换行
fw.close()  #关闭csv文件

猜你喜欢

转载自blog.csdn.net/qq_39905917/article/details/83502382
今日推荐