Praktiske Regex-Anvendelser i Datarensning
Stryg for at vise menuen
Almindelige dataoprydningsopgaver, der kan løses med regex
Ved arbejde med data fra den virkelige verden støder man ofte på inkonsistenser, uønskede tegn og uforudsigelig formatering. Regulære udtryk (regex) er kraftfulde værktøjer, der hjælper med at automatisere dataoprydningsopgaver, så store datasæt bliver håndterbare og klar til analyse.
Almindelige dataoprydningsopgaver, der kan løses med regex, omfatter:
- Fjernelse af uønskede tegn såsom ekstra tegnsætning eller symboler;
- Standardisering af formater som telefonnumre eller datoer;
- Udtræk af strukturerede data såsom e-mailadresser eller produktkoder fra ustruktureret tekst.
Ved at mestre regex kan man hurtigt omdanne rodet data til ren, struktureret information, der er egnet til videre behandling.
12345678910111213141516import re # Messy CSV line with extra commas and spaces line = " John , Doe , , 29 , New York ,, " # Step 1: Remove extra commas (replace multiple commas with a single comma) line = re.sub(r',\s*,+', ',', line) # Step 2: Remove leading/trailing whitespace from each field fields = [re.sub(r'^\s+|\s+$', '', field) for field in line.split(',')] # Step 3: Remove any empty fields clean_fields = [field for field in fields if field] print(clean_fields) # Output: ['John', 'Doe', '29', 'New York']
Forklaring af oprydningsprocessen
I dette eksempel starter man med en CSV-linje, der indeholder ekstra kommaer og inkonsekvent brug af mellemrum. Oprydningsprocessen anvender regex i flere trin:
- Fjern ekstra kommaer: mønsteret
',\s*,+'finder sekvenser af kommaer, eventuelt adskilt af mellemrum, og erstatter dem med et enkelt komma for at reducere overflødighed; - Trim mellemrum: mønsteret
r'^\s+|\s+$'fjerner indledende og afsluttende mellemrum fra hvert felt, så kun det egentlige indhold bevares; - Fjern tomme felter: tomme felter fjernes, hvilket resulterer i en ren liste af værdier.
Regex-mønstre konstrueres ved at identificere de uønskede elementer i dataene (såsom flere kommaer eller løse mellemrum) og skrive mønstre, der matcher disse elementer til erstatning eller fjernelse. Denne tilgang gør det muligt effektivt at omdanne rodet, inkonsekvent data til et format, der er let at arbejde med.
Tak for dine kommentarer!
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat