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

Complex JSON object from CSV String in Python

我希望在解析 Python 中的 csv 字符串后输出以下 JSON 以提供给 API:

{
   "_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})

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

data2 = json.dumps(data1) 留在外面,只需在 data["records"] 中插入 data1。你会得到一个合适的字典列表,你可以进一步使用

仅在需要时转储字典 text-representation 用于将其写入文件等

你也不需要初始化data1字典,只需在每个循环中分配一个新的字典并将其写入列表即可。它会默认覆盖引用