Sådan Kombineres To Filer Baseret på Email-Feltet - Trin-for-Trin Guide

Hvordan kan en fil med felterne ID og email og en anden fil med felterne email og navn kombineres til en fil med alle tre felter, sammenkædet på email?

For at kombinere to filer baseret på email-feltet, skal du indlæse begge filer, matche email-felterne, kombinere dataene og gemme den nye fil med felterne ID, email og navn.

Sådan kombineres to filer baseret på email-feltet

For at kombinere to filer, hvor den ene fil indeholder felterne ID og email, og den anden fil indeholder felterne email og navn, kan du følge disse trin:

  1. Indlæs begge filer:
    • Indlæs filen med felterne ID og email.
    • Indlæs filen med felterne email og navn.
  2. Opret en datastruktur til at holde kombinerede data:
    • Opret en tom liste eller tabel til at holde de kombinerede data.
  3. Match email-felterne:
    • Gennemgå hver post i den første fil (ID og email).
    • For hver post, find den tilsvarende email i den anden fil (email og navn).
  4. Kombiner dataene:
    • For hver matchende email, kombiner ID, email og navn i en ny post.
    • Tilføj den nye post til den kombinerede datastruktur.
  5. Gem den kombinerede fil:
    • Eksporter den kombinerede datastruktur til en ny fil med felterne ID, email og navn.

Her er et eksempel på, hvordan dette kan gøres i Python:


import csv

# Indlæs filerne
with open('file1.csv', mode='r') as file1, open('file2.csv', mode='r') as file2:
    reader1 = csv.DictReader(file1)
    reader2 = csv.DictReader(file2)
    
    # Opret en dictionary til at holde email og navn fra file2
    email_to_name = {row['email']: row['name'] for row in reader2}
    
    # Opret en liste til at holde de kombinerede data
    combined_data = []
    
    # Gennemgå file1 og kombiner dataene
    for row in reader1:
        email = row['email']
        if email in email_to_name:
            combined_data.append({
                'ID': row['ID'],
                'email': email,
                'name': email_to_name[email]
            })

# Gem den kombinerede fil
with open('combined_file.csv', mode='w', newline='') as combined_file:
    fieldnames = ['ID', 'email', 'name']
    writer = csv.DictWriter(combined_file, fieldnames=fieldnames)
    
    writer.writeheader()
    writer.writerows(combined_data)

Ved at følge disse trin kan du effektivt kombinere to filer baseret på email-feltet og oprette en ny fil med alle tre felter: ID, email og navn.