Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Käytännön Regex-sovellukset Datan Puhdistuksessa | Edistyneet Säännölliset Lausekkeet ja Sovellukset
Pythonin Säännölliset Lausekkeet

Käytännön Regex-sovellukset Datan Puhdistuksessa

Pyyhkäise näyttääksesi valikon

Yleiset tietojen puhdistustehtävät, jotka ratkeavat regexillä

Työskenneltäessä reaalimaailman datan kanssa kohdataan usein epäjohdonmukaisuuksia, ei-toivottuja merkkejä ja arvaamatonta muotoilua. Säännölliset lausekkeet (regex) ovat tehokkaita työkaluja, joiden avulla tietojen puhdistustehtävät voidaan automatisoida, jolloin suurista tietoaineistoista tulee hallittavia ja analyysivalmiita.

Yleisiä regexillä ratkaistavia tietojen puhdistustehtäviä ovat:

  • Ei-toivottujen merkkien, kuten ylimääräisten välimerkkien tai symbolien poistaminen;
  • Muotojen yhdenmukaistaminen, kuten puhelinnumeroiden tai päivämäärien standardointi;
  • Rakenteisen tiedon, kuten sähköpostiosoitteiden tai tuotekoodien, poimiminen jäsentämättömästä tekstistä.

Regexin hallitsemalla voit nopeasti muuntaa sekavan datan puhtaaksi, rakenteiseksi tiedoksi, joka soveltuu jatkokäsittelyyn.

12345678910111213141516
import 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']

Puhdistusprosessin selitys

Tässä esimerkissä lähtökohtana on CSV-rivi, jossa on ylimääräisiä pilkkuja ja epäjohdonmukaista välilyöntien käyttöä. Puhdistusprosessi hyödyntää regexiä useassa vaiheessa:

  • Ylimääräisten pilkkujen poistaminen: kuvio ',\s*,+' etsii pilkkujen ja mahdollisten välilyöntien jonoja ja korvaa ne yhdellä pilkulla, mikä vähentää toistoa;
  • Välilyöntien trimmaus: kuvio r'^\s+|\s+$' poistaa jokaisen kentän alusta ja lopusta ylimääräiset välilyönnit, jolloin jäljelle jää vain varsinainen sisältö;
  • Tyhjien kenttien poistaminen: tyhjät kentät poistetaan, jolloin tuloksena on puhdas arvolista.

Regex-kuviot rakennetaan tunnistamalla datasta ei-toivotut elementit (kuten useat pilkut tai irralliset välilyönnit) ja kirjoittamalla niitä vastaavat kuviot korvaamista tai poistamista varten. Tällä lähestymistavalla voidaan tehokkaasti muuntaa sekava ja epäjohdonmukainen data helposti käsiteltävään muotoon.

question mark

Mikä regex-kuvio poistaa kaikki ei-alfanumeeriset merkit merkkijonosta?

Valitse oikea vastaus

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 3. Luku 2

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

Osio 3. Luku 2
some-alt