Найти - Пользователи
Полная версия: openpyxl, Python, списки
Начало » Python для новичков » openpyxl, Python, списки
1
briarius
Прошу рассказать что я делаю не так.

В приложенном файле есть таблица (слева) мне ее нужно привести к виду таблицы которая расположена справа.
Первый столбец (не без помощи) мне удалось раскидать, но я не могу понять как мне добавить в список все остальные столбцы со значениями? Подскажите, пожалуйста, что я делаю не так?

 import re
from openpyxl import load_workbook
wb = load_workbook(filename='Файл для форума.xlsx')
data_col = 'B'
sheet_ranges = wb.active
cell_range = sheet_ranges[data_col]
data = {}
for c in cell_range:
    if c.value:
        # if bank
        if c.value.startswith('4070'):
            bank = c.value
            data[bank] = []
        # if date
        elif re.match(r'(\d\d\.){2}\d{4}', c.value):
            data[bank].append(c.value)
            data[bank].append(c.offset(0, 2).value)
for k, v in data.items():
    for date in v:
        print(k, date)
xam1816
 
import re
from openpyxl import load_workbook
wb = load_workbook(filename='/home/xam/Загрузки/Файл для форума.xlsx')
ws = wb.active
data = []
last_key = None
for b, d, g in zip(ws['b'], ws['d'], ws['g']):
if b.value and b.value.startswith('4070'):
last_key = b.value
elif b.value and re.match(r'(\d\d\.){2}\d{4}', b.value):
data.append([last_key, b.value, d.value, g.value])
for i in data:
print(i)

вывод
 
['40702810000000000000 ОТДЕЛЕНИЕ ПАО СБЕРБАНК', '03.01.2022', 1, 5]
['40702810000000000000 ОТДЕЛЕНИЕ ПАО СБЕРБАНК', '13.01.2022', 1, 5]
['40702810000000000000 ОТДЕЛЕНИЕ ПАО СБЕРБАНК', '14.01.2022', 1, 5]
['40702810000000000000 ОТДЕЛЕНИЕ ПАО СБЕРБАНК', '18.01.2022', 1, 5]
['40702810000000000000 ОТДЕЛЕНИЕ ПАО СБЕРБАНК', '21.01.2022', 1, None]
['40702810000000000000 ОТДЕЛЕНИЕ ПАО СБЕРБАНК', '31.01.2022', 1, 5]
['40702810000000000000 ОТДЕЛЕНИЕ ПАО СБЕРБАНК', '01.02.2022', 1, 5]
['40702810000000000000 ОТДЕЛЕНИЕ ПАО СБЕРБАНК', '03.02.2022', 1, 5]
['40702810000000000000 ОТДЕЛЕНИЕ ПАО СБЕРБАНК', '04.02.2022', 1, None]
['40702810000000000000 ОТДЕЛЕНИЕ ПАО СБЕРБАНК', '07.02.2022', 1, 5]
['40702810000000000000 ОТДЕЛЕНИЕ ПАО СБЕРБАНК', '11.02.2022', 1, 5]
['40702810000000000000 ОТДЕЛЕНИЕ ПАО СБЕРБАНК', '15.02.2022', 1, 5]
['40702810000000000000 ОТДЕЛЕНИЕ ПАО СБЕРБАНК', '16.02.2022', 1, 5]
['40702810000000000000 ОТДЕЛЕНИЕ ПАО СБЕРБАНК', '21.02.2022', 1, None]
['40702810000000000000 ОТДЕЛЕНИЕ ПАО СБЕРБАНК', '25.02.2022', 1, None]
['40702810000000000000 ОТДЕЛЕНИЕ ПАО СБЕРБАНК', '28.02.2022', 1, 5]
['40702810000000000000 ОТДЕЛЕНИЕ ПАО СБЕРБАНК', '01.03.2022', 1, 5]
['40702810000000000000 ОТДЕЛЕНИЕ ПАО СБЕРБАНК', '03.03.2022', 1, 5]
['40702810000000000000 ОТДЕЛЕНИЕ ПАО СБЕРБАНК', '04.03.2022', 1, 5]
['40702810000000000000 ОТДЕЛЕНИЕ ПАО СБЕРБАНК', '05.03.2022', 1, None]
['40702810000000000000 ОТДЕЛЕНИЕ ПАО СБЕРБАНК', '09.03.2022', 1, 5]
['40702810000000000000 ОТДЕЛЕНИЕ ПАО СБЕРБАНК', '10.03.2022', 1, 5]
['40702810000000000000 ОТДЕЛЕНИЕ ПАО СБЕРБАНК', '11.03.2022', 1, 5]
['40702810000000000000 ОТДЕЛЕНИЕ ПАО СБЕРБАНК', '15.03.2022', 1, 5]
['40702810000000000000 ОТДЕЛЕНИЕ ПАО СБЕРБАНК', '17.03.2022', 1, None]
['40702810000000000000 ОТДЕЛЕНИЕ ПАО СБЕРБАНК', '21.03.2022', 1, None]
['40702810000000000000 ОТДЕЛЕНИЕ ПАО СБЕРБАНК', '24.03.2022', 1, 5]
['40702810000000000000 ОТДЕЛЕНИЕ ПАО СБЕРБАНК', '25.03.2022', 1, 5]
['40702810000000000000 ОТДЕЛЕНИЕ ПАО СБЕРБАНК', '29.03.2022', 1, 5]
['40702810000000000000 ОТДЕЛЕНИЕ ПАО СБЕРБАНК', '31.03.2022', 1, 5]
['40702810000000000000 ОТДЕЛЕНИЕ ПАО СБЕРБАНК', '01.04.2022', 1, 5]
['40702810000000000000 ОТДЕЛЕНИЕ ПАО СБЕРБАНК', '03.04.2022', 1, 5]
['40702810000000000000 ОТДЕЛЕНИЕ ПАО СБЕРБАНК', '06.04.2022', 1, None]
['40702810000000000000 ОТДЕЛЕНИЕ ПАО СБЕРБАНК', '11.04.2022', 1, 5]
['40702810000000000000 ОТДЕЛЕНИЕ ПАО СБЕРБАНК', '12.04.2022', 1, 5]
['40702810000000000000 ОТДЕЛЕНИЕ ПАО СБЕРБАНК', '14.04.2022', 1, 5]
['40702810000000000000 ОТДЕЛЕНИЕ ПАО СБЕРБАНК', '15.04.2022', 1, 5]
['40702810000000000000 ОТДЕЛЕНИЕ ПАО СБЕРБАНК', '19.04.2022', 1, 5]
['40702810000000000000 ОТДЕЛЕНИЕ ПАО СБЕРБАНК', '21.04.2022', 1, None]
['40702810000000000000 ОТДЕЛЕНИЕ ПАО СБЕРБАНК', '26.04.2022', 1, 5]
['40702810000000000000 ОТДЕЛЕНИЕ ПАО СБЕРБАНК', '27.04.2022', 1, 5]
['40702810000000000000 ОТДЕЛЕНИЕ ПАО СБЕРБАНК', '28.04.2022', 1, 5]
['40702810000000000000 ОТДЕЛЕНИЕ ПАО СБЕРБАНК', '29.04.2022', 1, 5]
['40702810000000000000 ОТДЕЛЕНИЕ ПАО СБЕРБАНК', '03.05.2022', 1, 5]
['40702810000000000000 ОТДЕЛЕНИЕ ПАО СБЕРБАНК', '04.05.2022', 1, 5]
['40702810000000000000 ОТДЕЛЕНИЕ ПАО СБЕРБАНК', '06.05.2022', 1, None]
['40702810000000000000 ОТДЕЛЕНИЕ ПАО СБЕРБАНК', '11.05.2022', 1, 6]
['40702810000000000000 ОТДЕЛЕНИЕ ПАО СБЕРБАНК', '12.05.2022', 1, 6]
['40702810000000000000 ОТДЕЛЕНИЕ ПАО СБЕРБАНК', '13.05.2022', 1, 6]
['40702810000000000000 ОТДЕЛЕНИЕ ПАО СБЕРБАНК', '17.05.2022', 1, 6]
['40702810000000000000 ОТДЕЛЕНИЕ ПАО СБЕРБАНК', '19.05.2022', 1, 6]
['40702810000000000000 ОТДЕЛЕНИЕ ПАО СБЕРБАНК', '20.05.2022', 1, None]
['40702810000000000000 ОТДЕЛЕНИЕ ПАО СБЕРБАНК', '23.05.2022', 1, 6]
['40702810000000000000 ОТДЕЛЕНИЕ ПАО СБЕРБАНК', '26.05.2022', 1, 6]
['40702810000000000000 ОТДЕЛЕНИЕ ПАО СБЕРБАНК', '27.05.2022', 1, 6]
['40702810000000000000 ОТДЕЛЕНИЕ ПАО СБЕРБАНК', '31.05.2022', 1, 6]
['40702810000000000000 ОТДЕЛЕНИЕ ПАО СБЕРБАНК', '01.06.2022', 1, 6]
['40702810000000000000 ОТДЕЛЕНИЕ ПАО СБЕРБАНК', '02.06.2022', 1, 6]
['40702810000000000000 ОТДЕЛЕНИЕ ПАО СБЕРБАНК', '03.06.2022', 1, 6]
['40702810000000000000 ОТДЕЛЕНИЕ ПАО СБЕРБАНК', '06.06.2022', 1, None]
['40702810000000000000 ОТДЕЛЕНИЕ ПАО СБЕРБАНК', '07.06.2022', 1, 6]
['40702810000000000000 ОТДЕЛЕНИЕ ПАО СБЕРБАНК', '08.06.2022', 1, 6]
['40702810000000000000 ОТДЕЛЕНИЕ ПАО СБЕРБАНК', '09.06.2022', 1, 6]
['40702810000000000000 ОТДЕЛЕНИЕ ПАО СБЕРБАНК', '15.06.2022', 1, 6]
['40702810000000000000 ОТДЕЛЕНИЕ ПАО СБЕРБАНК', '16.06.2022', 1, 6]
['40702810000000000000 ОТДЕЛЕНИЕ ПАО СБЕРБАНК', '20.06.2022', 1, 6]
['40702810000000000000 ОТДЕЛЕНИЕ ПАО СБЕРБАНК', '21.06.2022', 1, None]
['40702810000000000000 ОТДЕЛЕНИЕ ПАО СБЕРБАНК', '22.06.2022', 1, 6]
['40702810000000000000 ОТДЕЛЕНИЕ ПАО СБЕРБАНК', '23.06.2022', 1, 6]
['40702810000000000000 ОТДЕЛЕНИЕ ПАО СБЕРБАНК', '28.06.2022', 1, 6]
['40702810000000000000 ОТДЕЛЕНИЕ ПАО СБЕРБАНК', '30.06.2022', 1, 6]
['40702810000000000000 ОТДЕЛЕНИЕ ПАО СБЕРБАНК', '01.07.2022', 1, 6]
['40702810000000000000 ОТДЕЛЕНИЕ ПАО СБЕРБАНК', '03.07.2022', 1, 6]
['40702810000000000000 ОТДЕЛЕНИЕ ПАО СБЕРБАНК', '05.07.2022', 1, 6]
['40702810000000000000 ОТДЕЛЕНИЕ ПАО СБЕРБАНК', '06.07.2022', 1, None]
['40702810000000000000 ОТДЕЛЕНИЕ ПАО СБЕРБАНК', '07.07.2022', 1, 6]
['40702810000000000000 ОТДЕЛЕНИЕ ПАО СБЕРБАНК', '11.07.2022', 1, 6]
['40702810000000000000 ОТДЕЛЕНИЕ ПАО СБЕРБАНК', '12.07.2022', 1, 6]
['40702810000000000000 ОТДЕЛЕНИЕ ПАО СБЕРБАНК', '13.07.2022', 1, 6]
['40702810111111111111 БАНК ГПБ', '10.01.2022', 1, 2]
['40702810111111111111 БАНК ГПБ', '01.02.2022', 1, 2]
['40702810111111111111 БАНК ГПБ', '01.03.2022', 1, 2]
['40702810111111111111 БАНК ГПБ', '03.03.2022', 1, 2]
['40702810111111111111 БАНК ГПБ', '28.03.2022', 1, 2]
['40702810111111111111 БАНК ГПБ', '31.03.2022', 1, 2]
['40702810111111111111 БАНК ГПБ', '01.04.2022', 1, 2]
['40702810111111111111 БАНК ГПБ', '15.04.2022', 1, 2]
['40702810111111111111 БАНК ГПБ', '29.04.2022', 1, 2]
['40702810111111111111 БАНК ГПБ', '04.05.2022', 1, 2]
['40702810111111111111 БАНК ГПБ', '01.06.2022', 1, 2]
['40702810111111111111 БАНК ГПБ', '01.07.2022', 1, 2]
['40702810222222222222, БАНК ВТБ ', '31.01.2022', 1, None]
['40702810222222222222, БАНК ВТБ ', '28.02.2022', 1, None]
['40702810222222222222, БАНК ВТБ ', '31.03.2022', 1, None]
['40702810222222222222, БАНК ВТБ ', '29.04.2022', 1, None]
['40702810222222222222, БАНК ВТБ ', '31.05.2022', 1, None]
['40702810222222222222, БАНК ВТБ ', '30.06.2022', 1, None]
['40702810333333333333, БАНК ГПБ', '11.01.2022', 1, None]
['40702810333333333333, БАНК ГПБ', '12.01.2022', 1, None]
['40702810333333333333, БАНК ГПБ', '13.01.2022', 1, None]
['40702810333333333333, БАНК ГПБ', '14.01.2022', 1, None]
['40702810333333333333, БАНК ГПБ', '18.01.2022', 1, None]
['40702810333333333333, БАНК ГПБ', '20.01.2022', 1, None]
['40702810333333333333, БАНК ГПБ', '21.01.2022', 1, None]
['40702810333333333333, БАНК ГПБ', '24.01.2022', 1, None]
['40702810333333333333, БАНК ГПБ', '25.01.2022', 1, None]
['40702810333333333333, БАНК ГПБ', '26.01.2022', 1, None]
['40702810333333333333, БАНК ГПБ', '27.01.2022', 1, None]
['40702810333333333333, БАНК ГПБ', '31.01.2022', 1, None]
['40702810333333333333, БАНК ГПБ', '01.02.2022', 1, None]
['40702810333333333333, БАНК ГПБ', '03.02.2022', 1, None]
['40702810333333333333, БАНК ГПБ', '04.02.2022', 1, None]
['40702810333333333333, БАНК ГПБ', '07.02.2022', 1, None]
['40702810333333333333, БАНК ГПБ', '08.02.2022', 1, None]
['40702810333333333333, БАНК ГПБ', '10.02.2022', 1, None]
['40702810333333333333, БАНК ГПБ', '11.02.2022', 1, None]
['40702810333333333333, БАНК ГПБ', '14.02.2022', 1, None]
['40702810333333333333, БАНК ГПБ', '15.02.2022', 1, None]
['40702810333333333333, БАНК ГПБ', '16.02.2022', 1, None]
['40702810333333333333, БАНК ГПБ', '17.02.2022', 1, None]
['40702810333333333333, БАНК ГПБ', '18.02.2022', 1, None]
['40702810333333333333, БАНК ГПБ', '21.02.2022', 1, None]
['40702810333333333333, БАНК ГПБ', '22.02.2022', 1, None]
['40702810333333333333, БАНК ГПБ', '24.02.2022', 1, None]
['40702810333333333333, БАНК ГПБ', '25.02.2022', 1, None]
['40702810333333333333, БАНК ГПБ', '28.02.2022', 1, None]
['40702810333333333333, БАНК ГПБ', '01.03.2022', 1, None]
['40702810333333333333, БАНК ГПБ', '03.03.2022', 1, None]
['40702810333333333333, БАНК ГПБ', '04.03.2022', 1, None]
['40702810333333333333, БАНК ГПБ', '05.03.2022', 1, None]
['40702810333333333333, БАНК ГПБ', '09.03.2022', 1, None]
['40702810333333333333, БАНК ГПБ', '10.03.2022', 1, None]
['40702810333333333333, БАНК ГПБ', '11.03.2022', 1, None]
['40702810333333333333, БАНК ГПБ', '15.03.2022', 1, None]
['40702810333333333333, БАНК ГПБ', '17.03.2022', 1, None]
['40702810333333333333, БАНК ГПБ', '21.03.2022', 1, None]
['40702810333333333333, БАНК ГПБ', '22.03.2022', 1, None]
['40702810333333333333, БАНК ГПБ', '24.03.2022', 1, None]
['40702810333333333333, БАНК ГПБ', '25.03.2022', 1, None]
['40702810333333333333, БАНК ГПБ', '29.03.2022', 1, None]
['40702810333333333333, БАНК ГПБ', '31.03.2022', 1, None]
['40702810333333333333, БАНК ГПБ', '01.04.2022', 1, None]
['40702810333333333333, БАНК ГПБ', '05.04.2022', 1, None]
['40702810333333333333, БАНК ГПБ', '06.04.2022', 1, None]
['40702810333333333333, БАНК ГПБ', '07.04.2022', 1, None]
['40702810333333333333, БАНК ГПБ', '08.04.2022', 1, None]
['40702810333333333333, БАНК ГПБ', '12.04.2022', 1, None]
['40702810333333333333, БАНК ГПБ', '13.04.2022', 1, None]
['40702810333333333333, БАНК ГПБ', '14.04.2022', 1, None]
['40702810333333333333, БАНК ГПБ', '15.04.2022', 1, None]
['40702810333333333333, БАНК ГПБ', '19.04.2022', 1, None]
['40702810333333333333, БАНК ГПБ', '21.04.2022', 1, None]
['40702810333333333333, БАНК ГПБ', '26.04.2022', 1, None]
['40702810333333333333, БАНК ГПБ', '27.04.2022', 1, None]
['40702810333333333333, БАНК ГПБ', '28.04.2022', 1, None]
['40702810333333333333, БАНК ГПБ', '29.04.2022', 1, None]
['40702810333333333333, БАНК ГПБ', '04.05.2022', 1, None]
['40702810333333333333, БАНК ГПБ', '05.05.2022', 1, None]
['40702810333333333333, БАНК ГПБ', '06.05.2022', 1, None]
['40702810333333333333, БАНК ГПБ', '11.05.2022', 1, None]
['40702810333333333333, БАНК ГПБ', '12.05.2022', 1, None]
['40702810333333333333, БАНК ГПБ', '13.05.2022', 1, None]
['40702810333333333333, БАНК ГПБ', '17.05.2022', 1, None]
['40702810333333333333, БАНК ГПБ', '18.05.2022', 1, None]
['40702810333333333333, БАНК ГПБ', '19.05.2022', 1, None]
['40702810333333333333, БАНК ГПБ', '23.05.2022', 1, None]
['40702810333333333333, БАНК ГПБ', '23.05.2022', 1, None]
['40702810333333333333, БАНК ГПБ', '24.05.2022', 1, None]
['40702810333333333333, БАНК ГПБ', '25.05.2022', 1, None]
['40702810333333333333, БАНК ГПБ', '26.05.2022', 1, None]
['40702810333333333333, БАНК ГПБ', '27.05.2022', 1, None]
['40702810333333333333, БАНК ГПБ', '30.05.2022', 1, None]
['40702810333333333333, БАНК ГПБ', '31.05.2022', 1, None]
['40702810333333333333, БАНК ГПБ', '01.06.2022', 1, None]
['40702810333333333333, БАНК ГПБ', '02.06.2022', 1, None]
['40702810333333333333, БАНК ГПБ', '06.06.2022', 1, None]
['40702810333333333333, БАНК ГПБ', '07.06.2022', 1, None]
['40702810333333333333, БАНК ГПБ', '08.06.2022', 1, None]
['40702810333333333333, БАНК ГПБ', '09.06.2022', 1, None]
['40702810333333333333, БАНК ГПБ', '10.06.2022', 1, None]
['40702810333333333333, БАНК ГПБ', '14.06.2022', 1, None]
['40702810333333333333, БАНК ГПБ', '15.06.2022', 1, None]
['40702810333333333333, БАНК ГПБ', '16.06.2022', 1, None]
['40702810333333333333, БАНК ГПБ', '17.06.2022', 1, None]
['40702810333333333333, БАНК ГПБ', '20.06.2022', 1, None]
['40702810333333333333, БАНК ГПБ', '21.06.2022', 1, None]
['40702810333333333333, БАНК ГПБ', '22.06.2022', 1, None]
['40702810333333333333, БАНК ГПБ', '23.06.2022', 1, None]
['40702810333333333333, БАНК ГПБ', '24.06.2022', 1, None]
['40702810333333333333, БАНК ГПБ', '27.06.2022', 1, None]
['40702810333333333333, БАНК ГПБ', '28.06.2022', 1, None]
['40702810333333333333, БАНК ГПБ', '29.06.2022', 1, None]
['40702810333333333333, БАНК ГПБ', '30.06.2022', 1, None]
['40702810333333333333, БАНК ГПБ', '01.07.2022', 1, None]
['40702810333333333333, БАНК ГПБ', '04.07.2022', 1, None]
['40702810333333333333, БАНК ГПБ', '05.07.2022', 1, None]
['40702810333333333333, БАНК ГПБ', '06.07.2022', 1, None]
['40702810333333333333, БАНК ГПБ', '07.07.2022', 1, None]
['40702810333333333333, БАНК ГПБ', '08.07.2022', 1, None]
['40702810333333333333, БАНК ГПБ', '11.07.2022', 1, None]
['40702810333333333333, БАНК ГПБ', '12.07.2022', 1, None]
['40702810333333333333, БАНК ГПБ', '13.07.2022', 1, None]
['40702810333333333333, БАНК ГПБ', '14.07.2022', 1, None]
['40702810333333333333, БАНК ГПБ', '15.07.2022', 1, None]
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