这篇文章主要介绍“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等主流浏览器浏览本网站


