diff --git a/brancheneinstufung.py b/brancheneinstufung.py index 95273d8f..0242f40e 100644 --- a/brancheneinstufung.py +++ b/brancheneinstufung.py @@ -1586,11 +1586,11 @@ def process_contact_research(): # Ermittle die letzte Zeile in Spalte AM (Spalte 39), in der ein Timestamp eingetragen wurde col_am = main_sheet.col_values(39) # Spalte AM hat den Index 39 (A=1, ..., AM=39) - last_filled_row = 1 # Standardmäßig wird die Header-Zeile angenommen + last_filled_row = 1 # Header-Zeile for idx, cell in enumerate(col_am): if cell.strip() != "": last_filled_row = idx + 1 # idx ist 0-basiert, Zeilennummern beginnen bei 1 - start_row = last_filled_row + 1 # Beginne mit der nächsten Zeile + start_row = last_filled_row + 1 # Verarbeitung ab der nächsten Zeile debug_print(f"Letzter Timestamp in Spalte AM wurde in Zeile {last_filled_row} gefunden. Starte Verarbeitung ab Zeile {start_row}.") # Falls start_row größer ist als die Anzahl der vorhandenen Zeilen, gibt es nichts weiter zu verarbeiten @@ -1603,13 +1603,14 @@ def process_contact_research(): contacts_sheet = sh.worksheet("Contacts") except gspread.exceptions.WorksheetNotFound: contacts_sheet = sh.add_worksheet(title="Contacts", rows="1000", cols="10") - header = ["Firmenname", "CRM Kurzform", "Website", "Vorname", "Nachname", "Position", "Timestamp"] + # Header um eine zusätzliche Spalte für Suchbegriffskategorie erweitert + header = ["Firmenname", "CRM Kurzform", "Website", "Vorname", "Nachname", "Position", "Suchbegriffskategorie", "Timestamp"] contacts_sheet.update(values=[header], range_name="A1:H1") debug_print("Neues Blatt 'Contacts' erstellt und Header eingetragen.") # Verarbeite jede Zeile im Hauptblatt ab der festgelegten Startzeile for i in range(start_row, len(data) + 1): - row = data[i - 1] # Da data eine 0-basierte Liste ist + row = data[i - 1] # Weil data 0-basiert indiziert ist company_name = row[1] if len(row) > 1 else "" crm_kurzform = row[2] if len(row) > 2 else "" website = row[3] if len(row) > 3 else "" @@ -1623,13 +1624,21 @@ def process_contact_research(): for pos in positions: count = count_linkedin_contacts(crm_kurzform, website, pos, crm_kurzform) contact_counts[pos] = count - # Optional: Suche und speichere den ersten passenden Kontakt + # Suche und speichere den ersten passenden Kontakt contact = search_linkedin_contact(crm_kurzform, website, pos, crm_kurzform) if contact: - # Hänge den Kontakt im Kontakte-Blatt an + # Hänge den Kontakt im Kontakte-Blatt an; hier wird in Spalte G der Suchbegriff und in Spalte H der Timestamp eingetragen timestamp = datetime.now().strftime("%Y-%m-%d %H:%M:%S") - contact_row = [company_name, crm_kurzform, website, contact.get("Vorname", ""), - contact.get("Nachname", ""), contact.get("Position", ""), timestamp] + contact_row = [ + company_name, + crm_kurzform, + website, + contact.get("Vorname", ""), + contact.get("Nachname", ""), + contact.get("Position", ""), + pos, # Suchbegriffskategorie + timestamp # Timestamp + ] try: contacts_sheet.append_row(contact_row) debug_print(f"Zeile {i}: Kontakt für Position '{pos}' in Contacts gespeichert: {contact_row}")