#python #arrays #nested-loops
#python #массивы #вложенные циклы
Вопрос:
Я новичок в python, и у меня был простой скрипт для импорта некоторых данных файла Excel на мой SQL server. Поставщик, от которого мы получаем данные, изменил формат, и он больше не будет работать с моим скриптом.
Файл Excel содержит повторяющиеся строки имени сотрудника, местоположения и часов. В настоящее время я могу перебирать эти строки, но не могу понять, как суммировать часы для каждого сотрудника и местоположения.
Пример файла Excel
Test User1, ABQ, 2
Test User1, ABQ, 4
Test User1, ABQ, 5
Test User1, BOS, 2
Test User1, BOS, 3
Test User2, MSP, 1
Test User2, MSP, 5
Думал о выводе в некотором массиве, подобном следующему
Массив пользователей, где
Users[0] = [Test User1, ABQ, 11]
Users[1] = [Test User1, BOS, 5]
Users[2] = [Test User2, MSP, 6]
Шаги, о которых я думал.
- создайте массив
- проверьте, существует ли сотрудник и местоположение в массиве
- если не существует, добавьте имя сотрудника, местоположение и часы работы в массив
- в противном случае, если сотрудник и местоположение существуют, добавьте часы к существующему массиву часов
Существующий код
# reading excel file in with pandas. jf is custom class for opening and reading the excel file into jf.techLog
for i in jf.techLog.index:
log = jf.techLog.loc[i].copy()
# log variable contains the current excel sheet row data
employees = [log['Technician'], log['City'], log['TotalHours']]
Комментарии:
1. Вы можете использовать dict, сохраняя первые два столбца в качестве ключа, и добавить значение. Позже вы можете преобразовать dict в массив, если хотите.