用字段中的冒号分隔对处理CSV

时间:2018-10-20 10:12:36

标签: python csv delimiter

我有一个

格式的CSV
Fruit:Apple,Seeds:Yes,Colour:Red or Green
Fruit:Orange,Seeds:No,Colour:Orange
Fruit:Pear,Seeds:Yes,Colour:Green,Shape:Odd
Fruit:Banana,Seeds:No,Colour:Yellow,Shape:Also Odd

并且我希望能够为这些看起来像这样的值创建一个JSON对象

{"requestdata":{
 "testdata":"example",
 "testcategory":"category",
 "fruits":{
          "Fruit":{
                 "value":"Apple"
                 "type":"string"},
           "Seeds":{
                  "value":"Yes"
                  "type":"bool"}
            }

我知道我可以使用自己选择的定界符加载CSV,但是我将如何指定第二个定界符?还是应该尝试为每个数据单元构建一个词典,而不是将其视为要拆分的字符串?

1 个答案:

答案 0 :(得分:1)

您应该只对逗号进行拆分,并使用字符串拆分来处理其余元素,构建字典,然后让json模块从字典中生成JSON。尝试巧妙处理文本处理(例如

)时,创建格式错误的JSON相当容易
  • 忘记引号了。
  • 引用您不想要的值
  • 不转义JSON特殊字符

构建字典,然后让模块执行其任务,这将使您的代码更具可维护性,并且不易出错。