Я застрял в одной проблеме и не могу go впереди .. пожалуйста, нужна помощь, чтобы двигаться дальше. У меня есть вход Excel в этом формате ...
Name usn Sub marks
dhdn 1bm15mca13 c 90
java 95
python 98
subbu 1bm15mca13 java 92
perl 91
paddu 1bm15mca13 c# 80
java 81
И я пытаюсь получить ожидаемый словарь в этом формате:
d = [
{
"name":"dhdn",
"usn":1bm15mca13",
"sub":["c","java","python"],
"marks":[90,95,98]
},
{
"name":"subbu",
"usn":1bm15mca14",
"sub":["java","perl"],
"marks":[92,91]
},
{
"name":"paddu",
"usn":1bm15mca17",
"sub":["c#","java"],
"marks":[80,81]
}
]
Пробный код, но он работает только для двух столбцов
import pandas as pd
existing_excel_file = 'test.xls'
df_service = pd.read_excel(existing_excel_file, sheet_name='Sheet1')
df_service = df_service.fillna(method='ffill')
result = [{'name':k,'sub':g["sub"].tolist()} for k,g in df_service.groupby("name")]
print (result)
Пожалуйста, предоставьте идею или предложение для решения моей проблемы.