Я хочу, чтобы приведенный ниже вывод JSON после анализа строки csv в Python для подачи 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)
и просто вставьте data1
в свой data["records"]
. Вы получите правильный список словарей, которые вы можете использовать в дальнейшем
Сбрасывайте словарь только в том случае, если вам нужно его текстовое представление для записи в файл и т. д.
Вам также не нужно инициализировать словарь data1
, просто назначайте новый в каждом цикле и записывайте его в список. Он перезапишет ссылку по умолчанию
Рад слышать! Пожалуйста, отметьте ответ как принятый
Привет Лукас, большое спасибо. Я понял ваше решение, и оно сработало.