import xlwings as xw
открыть excel
файл с помощью xlwings
filename = r'input.xlsx'
book = xw.Book(filename)
sheet = book.sheets[0]
найти last row
из sheet
в указанном диапазоне c в этом случае от column 'A'
lrow = sheet.range('A' + str(sheet.cells.last_cell.row)).end('up').row
объявите отдельную переменную для string
, который вы будете искать, и column
, где будет расположен ваш вывод.
search_string = '[game]'
sheet.range('B1').value = 'output'
output_index = 2
теперь l oop через этот диапазон для посмотрите, находится ли ваша строка поиска в этом диапазоне
for i in range(1, lrow + 1):
if search_string in str(sheet.range('A{}'.format(i)).value):
temp = str(sheet.range('A{}'.format(i)).value)
temp = temp.split(search_string)[1]
if '[' in temp:
temp = temp.split('[')[0]
sheet.range('B{}'.format(output_index)).value = temp
output_index += 1
book.save()
book.close()
Ниже приведен полный код >>
import xlwings as xw
filename = r'input.xlsx'
book = xw.Book(filename)
sheet = book.sheets[0]
lrow = sheet.range('A' + str(sheet.cells.last_cell.row)).end('up').row
search_string = '[game]'
sheet.range('B1').value = 'output'
output_index = 2
for i in range(1, lrow + 1):
if search_string in str(sheet.range('A{}'.format(i)).value):
temp = str(sheet.range('A{}'.format(i)).value)
temp = temp.split(search_string)[1]
if '[' in temp:
temp = temp.split('[')[0]
sheet.range('B{}'.format(output_index)).value = temp
output_index += 1
book.save()
book.close()