Py学习  »  Python

Python中CSV字符串中的复杂JSON对象

Ankit Singh • 2 年前 • 446 次点击  

在Python中解析csv字符串以提供API后,我想要以下JSON输出:

{
   "_records":[
      {
         "_fields":{
            "Account":"DSP2",
            "Code":"11"
         }
      },
      {
         "_fields":{
            "Account":"DSP1",
            "Code":"11"
         }
      }
   ]
}

由于我是python新手,经过一些研究,我能够编写以下代码,这是可行的,但我在最终输出中得到了一些额外的垃圾字符。

输出:

{'records': [{'{"fields": {"Account": "T671", "Code": "A7710"}}'}, 
enter code here
"T672", "Code": "A7799"}}'}]}

有人能帮你摆脱多余的{和}吗?

密码-

data = {'records': []}

data1 = {}

line_var = input_var_1.splitlines()
for line in line_var:
    records = line.split(',')
    data1.update({'fields': {'Account': records[0].strip(),'Code': records[1].strip()}})
    data2 = json.dumps(data1)
data["records"].append({data2})
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/129558
 
446 次点击  
文章 [ 1 ]  |  最新文章 2 年前
Lukas Schmid
Reply   •   1 楼
Lukas Schmid    2 年前

额外的 {' 这是因为您将内部字典转储为一个字符串,并将其插入一个集合,然后将其放入列表中。

离开 data2 = json.dumps(data1) 取出并插入 data1 在你的 data["records"] .你会得到一个合适的字典列表,可以进一步使用

只有在需要将字典的文本表示形式写入文件等时才转储字典。

您也不需要初始化 数据1 字典,只需在每个循环中分配一个新的,并将其写入列表。默认情况下,它将覆盖引用