Я пытаюсь экспортировать этот DF в желаемый результат:
import pandas as pd
data = {'V': ["0","0","0","0","0","0"],
'A': ["1","0","1","1","1","0"],
}
df = pd.DataFrame (data, columns = ['V','A'])
Желаемый результат:
{"0": {"V": 0,
"A": 1,
},
"1": {"V": 0,
"A": 0,
},
...
}
Экспорт его как json не имеет такой же формы.
df= df.to_json(orient = "table")
with open('df.json', 'w') as f:
f.write(df)
Используйте df.to_dict с orient=index
:
In [1672]: x = df.to_dict('index')
In [1672]: x
Out[1672]:
{0: {'V': '0', 'A': '1'},
1: {'V': '0', 'A': '0'},
2: {'V': '0', 'A': '1'},
3: {'V': '0', 'A': '1'},
4: {'V': '0', 'A': '1'},
5: {'V': '0', 'A': '0'}}
Для вывода json
:
In [1676]: import json
In [1679]: y = json.dumps(x)
In [1681]: y
Out[1681]: '{"0": {"V": "0", "A": "1"}, "1": {"V": "0", "A": "0"}, "2": {"V": "0", "A": "1"}, "3": {"V": "0", "A": "1"}, "4": {"V": "0", "A": "1"}, "5": {"V": "0", "A": "0"}}'
Обновлено: Чтобы преобразовать значения в int
, сделайте следующее:
In [1672]: x = df.to_dict('index')
In [1708]: x = {k: {kk: int(vv) for kk, vv in v.items()} for k, v in x.items()}
In [1710]: y = json.dumps(y)
In [1711]: y
Out[1711]: '{"0": {"V": 0, "A": 1}, "1": {"V": 0, "A": 0}, "2": {"V": 0, "A": 1}, "3": {"V": 0, "A": 1}, "4": {"V": 0, "A": 1}, "5": {"V": 0, "A": 0}}'
Большой. Вам нужна помощь и с этим?
Пожалуйста. Я все равно обновил свой ответ, чтобы преобразовать его в int
для завершения.
Идеальный! Мне просто нужно преобразовать числа тогда. Спасибо :)