首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在python中将csv文件标记为json文件的最佳方式是哪种方式?

在python中将csv文件标记为json文件的最佳方式是哪种方式?
EN

Stack Overflow用户
提问于 2016-03-11 10:07:11
回答 1查看 105关注 0票数 1

我想为那些不知道.csv格式的人创建一个.json模板。但是,我不确定哪种方式是标记json中嵌套属性和列表的最佳方式。例如:

代码语言:javascript
复制
[
  {
    name: "John",
    age: 46,
    address: [
       {
        street:"longroad",
        number: 12,
        type: "main adress"
       },
       {
        street:"summerroad",
        number: 25,
        type: "summer house"
       }
     ]
  }
]

我在想:

代码语言:javascript
复制
name,age,address/street-1,address/number-1,address/street-2,address/number-2 

代码语言:javascript
复制
name,age,address.street-1,address.number-1,address.street-2,address.number-2

你怎么看?我个人不喜欢..。我正试图在python (从.csv转换到.json)中获得最简单的转换。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-11 10:17:04

一种解决方案是在CSV中嵌入CSV。其想法是使用逗号作为文件的分隔符,然后对具有多个值的字段使用分号分隔符:

代码语言:javascript
复制
 csv_data = csv.reader(csvfile, delimiter=',')

然后,对于包含嵌入值的每一列:

代码语言:javascript
复制
 for line in csv_data:
      if ';' in line:
          csv_embed_data = csv.reader([line], delimiter=';')
      # continue parsing

那么你的CSV看起来就像:

代码语言:javascript
复制
name,age,street;number
John,46,longroad;12

对于具有相同(name,age)的值列表,您需要对每个不同的值重复行:

代码语言:javascript
复制
name,age,street;number;type
John,46,longroad;12;"main address"
John,46,summerroad;12;"summer house"

HTH

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35937276

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档