Данные из колонок excel в списки Python

У меня есть набор данных в excel, которые я хочу поместить в списки для дальнейшей работы с ними.

Данные excel

Я написал код, но при выводе списков заметил, что данные выводятся по одному символу а не ячейке

import openpyxl
book = openpyxl.open('EXCEL.xlsx', read_only=True)
sheet = book.active
Array = list()
ArrayName = list()
for row in range(1, sheet.max_row+1) :
    number = sheet[row][0].value
    names = sheet[row][1].value
    Array += str(number)
    ArrayName += str(names)
print(Array,ArrayName)

Такой ужас в терминале

Вопрос: как сделать, чтобы данные записывались не по одному символу а целой ячейкой?


Ответы (1 шт):

Автор решения: Oopss

Для работы с таблицами, удобней использовать pandas

import pandas as pd
d=pd.read_excel('ttst.xlsx')
print(d)

      A       B
0    10    Влад
1    20   Дарья
2    30    Иван
3    40    Женя
4    50    Саша
5    60    Егор
6    70   Денис
7    80  Михаил
8    90   Слава
9   100    Женя
10  110    Петя

pandas использует эти же библиотеки для чтения xlsx, но дальнейшая обработка лучше в pandas

import openpyxl
book = openpyxl.load_workbook('ttst.xlsx', read_only=True)
sheet = book.active
Array = []
ArrayName = []
for row in sheet.iter_rows(min_row=2, values_only=True) :
    Array.append(row[0])
    ArrayName.append(row[1])
print(Array,ArrayName)

[10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110] ['Влад', 'Дарья', 'Иван', 'Женя', 'Саша', 'Егор', 'Денис', 'Михаил', 'Слава', 'Женя', 'Петя']
→ Ссылка