Я изучаю Python и openpyxl для анализа данных в большой рабочей книге xlsx.У меня есть for
цикл, который может перебирать весь столбец.Вот некоторые примеры данных:
ROW: VALUE:
1 1
2 2
3 3
4 4
5 -4
6 -1
7 -6
8 2
9 3
10 -3
Я хочу напечатать строку, в которой значение изменяется с положительного на отрицательное, и наоборот.Таким образом, в приведенном выше примере строки 5, 8 и 10 будут напечатаны в консоли.Как я могу использовать оператор if
в цикле for
для перебора столбца в openpyxl?
Пока я могу печатать все ячейки в столбце:
import openpyxl
wb = openpyxl.load_workbook('ngt_log.xlsx')
sheet = wb.get_sheet_by_name('sheet1')
for i in range(1, 10508, 1): # 10508 is the length of the column
print(i, sheet.cell(row=i, column=6).value)
Моя идея состояла в том, чтобы просто добавить оператор if
внутри цикла for
:
for i in range(1, 10508, 1): # 10508 is the length of the column
if(( i > 0 and (i+1) < 0) or (i < 0 and (i+1) > 0)):
print((i+1), sheet.cell(row=i, column=6).value)
Но это не работает.Правильно ли сформулирован оператор if
?