这篇文章主要介绍“Python怎么将csv格式转换成JSON格式文件”,在日常操作中,相信很多人在Python怎么将csv格式转换成JSON格式文件问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python怎么将csv格式转换成JSON格式文件”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
csv文件内容如下:
1 Twin Oaks Place 10 Marquette Rd. 12 Craven Way 12 Fort Sheriden Ave. 12 Skokie Valley Rd. 12 Walker Ave. 120 high St.
一、使用内置函数处理
# /usr/bin/env python # -*- coding:utf-8 -*- import sys import json reload(sys) sys.setdefaultencoding('utf-8') #根据列表中是否为空,将不为空的配成键值对更新到字典中 def list_name(keyname, value1, dict1=None): dict1 = dict(zip(keyname, value1)) return dict1 with open(r'D:\address.csv', 'rb') as f: for line in f: if line == []: line ="" else: if line[-1] == "\n": line = line[:-1] if line[-1] == "\r": line = line[:-1] akk = [y for y in line.split(" ")] key1 = ['street','namefirst','namelast','address'] a1 = {} arr = list_name(key1,akk,a1) arr = json.dumps(arr) print arr
输出如下:
{"namelast": "Oaks", "street": "1", "namefirst": "Twin", "address": "Place"} {"namelast": "Rd.", "street": "10", "namefirst": "Marquette"} {"namelast": "Way", "street": "12", "namefirst": "Craven"} {"namelast": "Sheriden", "street": "12", "namefirst": "Fort", "address": "Ave."} {"namelast": "Valley", "street": "12", "namefirst": "Skokie", "address": "Rd."} {"namelast": "Ave.", "street": "12", "namefirst": "Walker"} {"namelast": "St.", "street": "120", "namefirst": "high"}
二、自己定义函数,内容可控
# /usr/bin/env python # -*- coding:utf-8 -*- import sys import json reload(sys) sys.setdefaultencoding('utf-8') #根据列表中是否为空,将不为空的配成键值对更新到字典中 def list_name(keyname, value1, dict1=None): for i in range(0, len(value1)): if value1[i] == "": break else: dit = {keyname[i]: value1[i]} dict1.update(dit) i += 1; return dict1 with open(r'D:\address.csv', 'rb') as f: for line in f: if line == []: line ="" else: if line[-1] == "\n": line = line[:-1] if line[-1] == "\r": line = line[:-1] akk = [y for y in line.split(" ")] key1 = ['street','namefirst','namelast','address'] a1 = {} arr = list_name(key1,akk,a1) arr = json.dumps(arr) print arr
输出如下:
{"namelast": "Oaks", "street": "1", "namefirst": "Twin", "address": "Place"} {"namelast": "Rd.", "street": "10", "namefirst": "Marquette"} {"namelast": "Way", "street": "12", "namefirst": "Craven"} {"namelast": "Sheriden", "street": "12", "namefirst": "Fort", "address": "Ave."} {"namelast": "Valley", "street": "12", "namefirst": "Skokie", "address": "Rd."} {"namelast": "Ave.", "street": "12", "namefirst": "Walker"} {"namelast": "St.", "street": "120", "namefirst": "high"}
免责声明:本站发布的内容(图片、视频和文字)以原创、来自互联网转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系QQ:712375056 进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。
Copyright © 2009-2021 56dr.com. All Rights Reserved. 特网科技 特网云 版权所有 珠海市特网科技有限公司 粤ICP备16109289号
域名注册服务机构:阿里云计算有限公司(万网) 域名服务机构:烟台帝思普网络科技有限公司(DNSPod) CDN服务:阿里云计算有限公司 中国互联网举报中心 增值电信业务经营许可证B2
建议您使用Chrome、Firefox、Edge、IE10及以上版本和360等主流浏览器浏览本网站