Das found = None wird gar nicht verwendet.
Es wird zweimal re.match aufgerufen, was nur zur Klimaerwärmung beiträgt. Wenn Du schon reguläre Ausdrücke benutzt, dann nutze auch, dass man die Groß-Klein-Schreibung ignorieren kann. Ansonsten wäre es eine einfache in-Prüfung.
Code: Alles auswählen
import re
import csv
from pathlib import Path
abrechnung = Path.home() / "Desktop" / "Abrechnung.csv"
pattern = re.compile(r'(amazon)', re.I)
with abrechnung.open(encoding='cp1252') as csvdatei:
csv_reader_object = csv.reader(csvdatei, delimiter=';')
for row_index, row in enumerate(csv_reader_object, 1):
for column_index, cell in enumerate(row):
match = pattern.match(cell)
if match is not None:
found = match.group(1)
print(f'Suchwort "{found}" gefunden in Zeile {row_index}, Spalte {column_index}')