У меня есть CSV, который я хотел бы обработать во вложенный словарь, группируя его по значениям в столбцах.Он отформатирован следующим образом:
sample, date, depth, analyte, result
'ABC', '01/01/2018', '3', 'LEAD', 0.22
'ABC', '02/01/2018', '3', 'LEAD', 0.25
'ABC', '01/01/2018', '5', 'LEAD', 0.19
'ABC', '02/01/2018', '5', 'LEAD', 0.18
'ABC', '01/01/2018', '3', 'MERCURY', 0.97
'ABC', '02/01/2018', '3', 'MERCURY', 0.95
'ABC', '01/01/2018', '5', 'MERCURY', 0.34
'ABC', '02/01/2018', '5', 'MERCURY', 0.11
'DEF', '01/01/2018', '3', 'LEAD', 0.07
'DEF', '02/01/2018', '3', 'LEAD', 0.04
'DEF', '01/01/2018', '5', 'LEAD', 0.16
'DEF', '02/01/2018', '5', 'LEAD', 0.65
'DEF', '01/01/2018', '3', 'MERCURY', 0.03
'DEF', '02/01/2018', '3', 'MERCURY', 0.01
'DEF', '01/01/2018', '5', 'MERCURY', 0.11
'DEF', '02/01/2018', '5', 'MERCURY', 0.13
Мне бы хотелось, чтобы мой окончательный словарь выглядел следующим образом:
dictionary = {sample: {date: {depth: [analyte, result], [analyte, result] ... }}}
Я надеюсь, что затем смогу выполнить итерацию по словарюполучить доступ к каждому блоку уникальных результатов, введя что-то вроде:
dictionary[sample][date][depth]
Например:
dictionary['ABC']['01/01/2018']['5'] = [['LEAD', 0.19], ['MERCURY', 0.34]]
Я бы хотел избежать использования панд, хотя яЯ знаю, что это может быть хорошо подходит для решения этой задачи - я ищу решение Pythonic.Это сложно - потому что мне нужно разместить несколько образцов, несколько дат, несколько глубин и несколько аналитов.Я новичок, и вложенные циклы, которые я пробовал, зажгли мой мозг.
Любая помощь приветствуется ..