Я собрал несколько разрозненных файлов Excel / CSV с пандами для базы данных, которую я пытаюсь создать.Я видел несколько примеров здесь по созданию вложенных Jsons из csvs, и хотя они помогли частично воспроизвести то, что мне нужно, в конечном итоге они потерпели неудачу.
Вместо того, чтобы быть плоскими, мои данные пошагово похожи на это , где данные «объединены» с помощью субъектного идентификатора #, но информация об отдельных посещениях и выборках находится в отдельных строках с «NaN» для несвязанных столбцов.
в формате csv:
subject_id,name,dob,gender,visit_date,date_entered,entered_by,sample_id,collected_by,collection_date
1,Bob,1/1/00,M,,,,,,
1,,,,1/1/18,1/2/18,Sally,,,
1,,,,1/2/18,1/2/18,Tim,,,
1,,,,,,,XXX123,Sally,1/3/18
2,Mary,1/2/00,F,,,,,,
2,,,,1/3/18,1/4/18,Sally,,,
2,,,,,,,YYY456,Sally,1/5/18
2,,,,,,,ZZZ789,Tim,1/6/18
Я пытаюсь получить вывод, подобный следующему:
{
'subject_id': '1'
'name': 'Bob',
'dob': '1/1/00',
'gender': 'M',
'visits': {
'1/1/18': {
'date_entered': '1/2/18',
'entered_by': 'Sally',
}
'1/2/18': {
'date_entered': '1/2/18',
'entered_by': 'Tim',
}
}
'samples': {
'XXX123': {
'collected_by': 'Sally',
'collection_date': '1/3/18',
}
}
}
{
'subject_id': '2'
'name': 'Mary',
'dob': '1/2/00',
'gender': 'F',
'visits': {
'1/3/18': {
'date_entered': '1/4/18',
'entered_by': 'Sally',
}
}
'samples': {
'YYY456': {
'collected_by': 'Sally',
'collection_date': '1/5/18',
}
'ZZZ789': {
'collected_by': 'Tim',
'collection_date': '1/6/18',
}
}
}
Где информация о посещениях и выборках вложена в более общиеИнформация.Это, очевидно, упрощенный набор данных того, что я пытаюсь выполнить, но любой совет будет принят с благодарностью.
Спасибо.
РЕДАКТИРОВАТЬ: Более точное отражение данных CSV.Не такой обтекаемый или полный, как оригинальный пример.
'subid,firstvisit,name,contact,dob,gender,visitdate1,age,visitcategory,samplenumber,label_on_sample,completed_by
1,12/31/11,Bob,,12/31/00,Male,,,,,,
1,,,,,,12/31/15,17,Baseline Visit,,,
1,,,,,,12/31/16,18,Follow Up Visit,,,
1,,,,,,12/31/17,18,Follow Up Visit,,,
1,,,,12/31/00,Male,,17,,XXX123,1,Sally
2,1/1/12,,,1/1/01,Female,,,,,,
2,,,,,,1/1/11,10,Baseline Visit,,,
2,,,,,,1/1/12,11,Follow Up Visit,,,
2,,,,,,1/1/13,12,Follow Up Visit,,,
2,,,,,,1/1/14,13,Follow Up Visit,,,
2,,,,,,1/1/15,14,Follow Up Visit,,,
2,,,,1/1/01,Female,,15,,YYY456,2,
2,,,,1/1/01,Female,,15,,ZZZ789,2,Sally'