Решил упростить себе задачу при форматировании таблиц эксель.
В столбце в каждой ячейке есть текс “Фамилия Имя Отчество, место работы, должность, процент участия”
требуется заменит на “Фамилия И.О., процент участия”
сверстал сам:
import openpyxl
path = “123.xlsx” #имя файла
wb_obj = openpyxl.load_workbook(path) #Открываем файл
sheet_obj = wb_obj.active #Выбираем активный лист таблицы(
m_row = sheet_obj.max_row
# Выводим значения в цикле
for i in range(2, m_row + 1):
cell_obj = sheet_obj.cell(row=i, column=16) # В column= подставляем номер нужной колонки
a=cell_obj.value
o=a.split()
n=len(o)
if n+i>8:
z=o
l=z+'.'
q=o
w=q+'.'
e=o
r=e+'.'
t=o
y=t+'.'
d=o+' ‘+l+w+’, '+o+', '+o+' ‘+r+y+’, '+o
print(d)
sheet_obj = d
wb_obj.save('123.xlsx')
else:
z=o
l=z+'.'
q=o
w=q+'.'
e=o
r=e+'.'
t=o
y=t+'.'
d=o+' ‘+l+w+’, '+o+', '+o+' ‘+r+y+’, '+o
print(d)
sheet_obj = d
wb_obj.save('123.xlsx')
в итоге только первая ячейка записывает в файл “Фамилия И.О., процент участия” как требуется
и выходит сообщение“Traceback (most recent call last):
File ”C
Users/Дима/Desktop/test/501.py", line 19, in <module>e=o
IndexError: list index out of range
Подскажите пожалуйста как реализовать
