У меня есть проект, который требует, чтобы я прочитал лист Excel с openpyxl. В рабочей таблице мне нужно найти несколько столбцов с одинаковыми именами, прочитать данные в каждом столбце и сравнить значения в каждой строке, сохранив только строки с одинаковыми значениями и сохранив пробел в других строках.
Я не знаю, сколько столбцов будет соответствовать входной строке, которую вводит пользователь, и я не знаю, сколько строк будет в электронной таблице, поэтому я создал словарь с заголовками столбцов. в качестве ключей и значений столбцов в виде списков.
Как сравнить строки за строкой, чтобы узнать, совпадают ли значения в каждом списке?
Вот код, который у меня есть:
for row in range(1, num_rows):
for cell in range(1, num_cols):
header_row = str(work_sheet.cell(1, cell).value)
cell_val = work_sheet.cell(row, cell).value
cell_list.append(cell_val)
if header_row in col_dict:
col_dict[header_row].append(cell_val)
else:
col_dict[header_row] = [cell_val]
Это дает мне словарь примерно так:
{
'Col B': ['Col B', 'x', 'x', None, 'x', 'x', 'x'],
'Col C': ['Col C', 'x', 'x', 'None', 'x', 'None', 'None'],
'Col A': ['Col A', 'x', 'x', 'None', 'x', 'None', 'x']
}
Я хочу сравнить элементы по соответствующим индексам в каждом списке (если ColB[1]=='x'
и ColA[1]=='x'
и ColC[1]=='x'
, введите 'x'
в output_list
. Иначе, добавьте ""
в этот индекс список вывода.
Я могу видеть списки, но как мне сравнить элементы в них?
for key in col_dict.keys():
for i in range(len(col_dict[key])):
print(col_dict[key][i])