Найти - Пользователи
Полная версия: Openpyxl: создание списков в списке
Начало » Python для новичков » Openpyxl: создание списков в списке
1
somebox
Доброй ночи.

Учусь работать с модулем 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]]

Подскажите, как поправить код. Уже всю голову сломал.
FishHook
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)
somebox
Огромное спасибо! Думал, эти циклы меня добьют.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB