Уведомления

Группа в Telegram: @pythonsu

#1 Май 29, 2019 02:33:12

somebox
Зарегистрирован: 2019-05-29
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Openpyxl: создание списков в списке

Доброй ночи.

Учусь работать с модулем openpyxl. Есть файл lists.xlsx, в нем небольшая табличка. Хочу с помощью Питона сделать на основе нее список в списке.

Набросал вот такой код

 import openpyxl
wb = openpyxl.load_workbook('list.xlsx')
ws_src = wb['Sheet2']
names_source = []
names_list = []
for each_cell in ws_src.iter_rows():
    for each_item in each_cell:
        names_source.append(each_item.value)
    names_list.append(names_source)
print(names_list)

На выходе получаю следующее:
 [['Mary', 'Smith', 32, 'John', 'Doe', 47, 'Mark', 'Morisson', 24, 'Susan', 'Boyle', 26, 'Mary', 'Smith', 32, 'Mark', 'Morisson', 24, 'David', 'Black', 50], ['Mary', 'Smith', 32, 'John', 'Doe', 47, 'Mark', 'Morisson', 24, 'Susan', 'Boyle', 26, 'Mary', 'Smith', 32, 'Mark', 'Morisson', 24, 'David', 'Black', 50], ['Mary', 'Smith', 32, 'John', 'Doe', 47, 'Mark', 'Morisson', 24, 'Susan', 'Boyle', 26, 'Mary', 'Smith', 32, 'Mark', 'Morisson', 24, 'David', 'Black', 50], ['Mary', 'Smith', 32, 'John', 'Doe', 47, 'Mark', 'Morisson', 24, 'Susan', 'Boyle', 26, 'Mary', 'Smith', 32, 'Mark', 'Morisson', 24, 'David', 'Black', 50], ['Mary', 'Smith', 32, 'John', 'Doe', 47, 'Mark', 'Morisson', 24, 'Susan', 'Boyle', 26, 'Mary', 'Smith', 32, 'Mark', 'Morisson', 24, 'David', 'Black', 50], ['Mary', 'Smith', 32, 'John', 'Doe', 47, 'Mark', 'Morisson', 24, 'Susan', 'Boyle', 26, 'Mary', 'Smith', 32, 'Mark', 'Morisson', 24, 'David', 'Black', 50], ['Mary', 'Smith', 32, 'John', 'Doe', 47, 'Mark', 'Morisson', 24, 'Susan', 'Boyle', 26, 'Mary', 'Smith', 32, 'Mark', 'Morisson', 24, 'David', 'Black', 50]]

А хочу:
 [['Mary', 'Smith', 32], ['John', 'Doe', 47], ['Mark', 'Morisson', 24], ['Susan', 'Boyle', 26], ['Mary', 'Smith', 32], ['Mark', 'Morisson', 24], ['David', 'Black', 50]]

Подскажите, как поправить код. Уже всю голову сломал.

Прикреплённый файлы:
attachment list.xlsx (6,2 KБ)

Офлайн

#2 Май 29, 2019 05:56:57

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Openpyxl: создание списков в списке

for each_cell in ws_src.iter_rows():
names_source = []
for each_item in each_cell:
names_source.append(each_item.value)
names_list.append(names_source)



Офлайн

#3 Май 29, 2019 15:38:34

somebox
Зарегистрирован: 2019-05-29
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Openpyxl: создание списков в списке

Огромное спасибо! Думал, эти циклы меня добьют.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version