Вам необходимо сбросить count
обратно на 1
всякий раз, когда изменяется line[2]
. Используйте переменную, чтобы сохранить ее предыдущее значение, и проверьте соответствие.
with open('4.txt', 'r')as file1:
read = csv.reader(file1, delimiter=";")
last = None
for line in read :
if line[2] != last:
count = 1
last = line[2]
print(line[2] + "_" + str(count))
count += 1
Этот код предполагает, что все строки для одного и того же line[2]
находятся вместе в файле. Если нет, вам понадобится словарь, содержащий счетчик для каждого префикса.
Нет смысла в if line[2] in line:
- как может элемент списка не быть в списке?