#python #json #pandas #dataframe
Вопрос:
допустим, у меня есть полезная нагрузка, которую я использую, чтобы попасть в мой API
payload = json.dumps({"from_date":"2019-10-10",
"from_date":"2019-10-12",
"pg_no": 1,
"idx": "fsdf"})
но я хотел сделать его pg_no
значение динамическим, используя для цикла, т. е.
payload = json.dumps({"from_date":"2019-10-10",
"from_date":"2019-10-12",
"pg_no": {},
"idx": "fsdf"})
for i in range(1,5):
payload.format(i)
получение этой ошибки
KeyError Traceback (most recent call last)
<ipython-input-7-5b565a97da5e> in <module>
1 for i in range(1,5):
----> 2 payload.format(i)
KeyError: '"from_date"'
Комментарии:
1. Каков ваш желаемый результат?
2. Вы ищете
'{}'
не{}
Ответ №1:
сначала в вашем словаре вы используете тот же ключ from_data
, который будет присутствовать там только последним. вторая основная проблема заключается в том, что {
скобки format
используют эту переменную места, если вы хотите проанализировать один сингл {
, то вам нужно использовать {{
в строке . так просто поместите значение в словарь, а затем преобразуйте его в строку, подобную этой
data = {'rom_date':'2019-10-10',
'fom_date':'2019-10-12',
'pg_no': {},
'idx': 'fsdf'}
for i in range(1,5):
data['pg_no'] = i
print(json.dumps(data))