栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

从CSV创建嵌套的JSON

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

从CSV创建嵌套的JSON

csv
模块将很好地处理CSV读数-包括处理引号内的换行符。

import csvwith open('my_csv.csv') as csv_file:   for row in csv.reader(csv_file):       # do work

csv.reader
对象是一个迭代器-
您可以使用循环来遍历CSV中的行
for
。每行都是一个列表,因此您可以将每个字段都以
row[0]
row[1]
等形式获取。请注意,这将加载第一行(在您的情况下仅包含字段名称)。

正如我们在第一行中给予我们的字段名,我们可以使用

csv.DictReader
使每一行的字段可以作为被访问
row['id']
row['name']
等等。这也将跳过第一行我们:

import csvwith open('my_csv.csv') as csv_file:   for row in csv.DictReader(csv_file):       # do work

对于JSON导出,请使用

json
模块。
json.dumps()
将采用Python数据结构(如列表和字典)并返回适当的JSON字符串:

import jsonmy_data = {'id': 123, 'name': 'Test User', 'emails': ['test@example.com', 'test@hotmail.com']}my_data_json = json.dumps(my_data)

如果要完全按照发布的方式生成JSON输出,则可以执行以下操作:

output = {'persons': []}with open('my_csv.csv') as csv_file:    for person in csv.DictReader(csv_file):        output['persons'].append({ 'type': 'config.profile', 'id': person['id'], # ...add other fields (email etc) here...        })        # ...do similar for config.pictures, config.status, etc...output_json = json.dumps(output)

output_json
将包含所需的JSON输出。

但是,我建议您仔细考虑要获取的JSON输出的结构-目前,您正在定义一个无用的外部字典,并且将所有“

config
”数据直接添加到“
persons
‘-您可能需要重新考虑这一点。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/569108.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号