python json格式和csv文件转换
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python json格式和csv文件转换,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1967字,纯文字阅读大概需要3分钟。
内容图文
python json格式和csv文件转换
上代码
1 import csv 2 import json 3 4 ''' 5 json格式示例 6 [{ "firstName":"Bill" , "lastName":"Gates" }, { "firstName":"George" , "lastName":"Bush" }, { "firstName":"Thomas" , "lastName":"Carter" }] 7 ''' 8 #file:json to csv 9 def transcsv(jsonpath, csvpath): 10 json_file = open(jsonpath, 'r', encoding='utf8') 11 csv_file = open(csvpath, 'w', newline='') 12 #读文件 13 ls = json.load(json_file) #将json格式的字符串转换成python的数据类型,解码过程 14 data = [list(ls[0].keys())] # 获取列名,即key 15 for item in ls: 16 data.append(list(item.values())) # 获取每一行的值value 17 #写入文件 18 for line in data: 19 csv_file.write(",".join(line) + "\n") # 以逗号分隔一行的每个元素,最后换行 fw.close() #关闭csv文件 20 #关闭文件 21 json_file.close() 22 csv_file.close() 23 #file:csv to json 24 def transjson(jsonpath, csvpath): 25 fw = open(jsonpath, 'w', encoding='utf8') # 打开csv文件 26 fo = open(csvpath, 'r', newline='') # 打开csv文件 27 28 ls = [] 29 for line in fo: 30 line = line.replace("\n", "") # 将换行换成空 31 ls.append(line.split(",")) # 以,为分隔符 32 #print(ls) 33 #写入 34 for i in range(1, len(ls)): # 遍历文件的每一行内容,除了列名 35 ls[i] = dict(zip(ls[0], ls[i])) # ls[0]为列名,所以为key,ls[i]为value, 36 # zip()是一个内置函数,将两个长度相同的列表组合成一个关系对 37 38 json.dump(ls[1:], fw, sort_keys=True, indent=4) 39 #将Python数据类型转换成json格式,编码过程 40 #默认是顺序存放,sort_keys是对字典元素按照key进行排序 41 #indet参数用语增加数据缩进,使文件更具有可读性 42 43 # 关闭文件 44 fo.close() 45 fw.close() 46 47 if __name__ == '__main__': 48 #transcsv('./testcase/my.json', './testcase/my.csv') 49 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格式和csv文件转换所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。