Я хотел бы знать (в Python), как подсчитывать вхождения и сравнивать значения из разных столбцов в разных электронных таблицах. После подсчета мне нужно знать, удовлетворяют ли эти значения условию, т. Е. Если Ана (пользователь) из первой электронной таблицы появляется 1 раз во второй таблице и 5 раз в третьей, я бы хотел суммировать 1 с переменной X.
Я новичок в Python, но я попытался получить .values () после использования счетчика из коллекций. Однако я не уверен, учитывается ли реальное значение Ana при итерации в результатах счетчика. В общем, мне нужно перебрать каждый элемент в первой электронной таблице и посмотреть, появится ли каждый его элемент один раз во второй электронной таблице и пять раз в третьей электронной таблице, если такое случится, переменная X будет добавлена на единицу.
def XInputOutputs ():
list1 = []
with open(file1, 'r') as fr:
r = csv.reader(fr)
for row in r:
list1.append(row[1])
number_of_occurrences_in_list_1 = Counter(list1)
list1_ocurrences = number_of_occurrences_in_list_1.values()
list2 = []
with open(file2, 'r') as fr:
r = csv.reader(fr)
for row in r:
list2.append(row[1])
number_of_occurrences_in_list_2 = Counter(list2)
list2_ocurrences = number_of_occurrences_in_list_2.values()
X = 0
for x,y in zip(list1_ocurrences, list2_ocurrences):
if x == 1 and y == 5:
X += 1
return X
Я тестировал с небольшими электронными таблицами, но это работает только для предварительно упорядоченных значений. Если Ана появляется после 100000 строк, все сломано. Я думаю, что необходимо повторять каждое значение (Ana) и проверять одновременно во всех электронных таблицах и суммировать переменную X.