У меня есть файл JSON, из которого я взял ключи для использования в качестве строк для моего фрейма данных, затем я взял все значения из всех ключей и поместил их в плоский список. Я хочу использовать этот список значений в качестве столбцов. Однако есть восемь значений и 5 ключей
JSON:
{
"student1": [
"view_grades",
"view_classes"
],
"student2": [
"view_grades",
"view_classes"
],
"teacher": [
"view_grades",
"change_grades",
"add_grades",
"delete_grades",
"view_classes"
],
"principle": [
"view_grades",
"view_classes",
"change_classes",
"add_classes",
"delete_classes"
]
}
convert.py
def json_to_csv():
with open('C:/Users/Elitebook/Documents/GitHub/permissions.json') as json_file:
#convert to python dict
py_dict = json.load(json_file)
#first get a list of all the values(permissions) from the dict, flatten the list and return only unique values
permissions = sorted(set([key for value in py_dict.itervalues() for key in value]))
#create a dataframe from the python dictionary
pd.DataFrame.from_dict(py_dict, orient='index', columns=permissions)
Я получаю ошибку AssertionError: 8 columns passed, passed data had 5 columns
, я хочу, чтобы у меня было 8 столбцов и 5 строк. Затем я могу поместить то, что я хочу, в поля значений для фрейма данных