CSV-verwerking

CSV-bestanden openen in Excel zonder datums, voorloopnullen of codering

Voorkom dat Excel voorloopnullen eet, datums verminkt en UTF-8 verminkt wanneer u CSV-bestanden opent. De importworkflow die uw gegevens bewaart, plus AI-ondersteunde opschoning van beschadigde importbestanden.

Dubbelklikken op een CSV-bestand is de gevaarlijkste veel voorkomende actie in Excel. Het werkt – het bestand wordt geopend, de gegevens verschijnen – en er kunnen al drie specifieke soorten schade zijn opgetreden:

  • Voorloopnullen zijn verdwenen. Postcode 02138 werd 2138; productcode 000451 werd 451.
  • Dingen die op datums lijken, werden datums. De gennaam MARCH1, de breuk 1/2, de code 3-14 — allemaal stil geconverteerd.
  • Niet-ASCII-tekst is onleesbaar geworden. Müller werd Müller omdat het bestand UTF-8 was en Excel een verouderde codering vermoedde.

Geen van deze geeft een fout weer. U ontdekt wanneer een zoekopdracht mislukt of een e-mail van een klant terugkomt. Hier leest u hoe u CSV's importeert, zodat dit nooit gebeurt.

De veilige manier: importeren, niet openen

Gebruik Gegevens → Gegevens ophalen → Uit tekst/CSV (Power Query) in plaats van te dubbelklikken:

  1. Excel toont een voorbeeld met een gedetecteerde Bestandsoorsprong (codering). Als u verminkte tekens ziet, schakelt u over naar 65001: Unicode (UTF-8).
  2. Klik op Gegevens transformeren om kolomtypen te beheren, of gebruik Laden naar... voor direct laden.
  3. Stel in de Power Query-editor het type van elke kolom expliciet in en stel code-achtige kolommen (ZIP, SKU, telefoon) in op Tekst, niet op nummer.

De oude Wizard Tekst importeren (nog steeds beschikbaar onder Bestand → Opties → Gegevens → Verouderde wizards voor gegevensimport weergeven) bereikt hetzelfde: kies Gescheiden, kies het scheidingsteken en stel de kolomopmaak in: Tekst voor alles met voorloopnullen.

Een CSV repareren dat al beschadigd is

Als het bestand al geopend en opgeslagen is en de schade is ingebakken:

Voorloopnullen, wanneer de juiste lengte bekend is:

=TEXT(A2, "00000")

herstelt 5-cijferige postcodes. Voor codes met variabele lengte is er geen oplossing voor de formule: importeer opnieuw vanuit het originele bestand.

Datums die getallen werden (u ziet 45678 in plaats van een datum): pas een datumgetalnotatie toe; de onderliggende serienummer is meestal intact.

Tekst die datums werd (MARCH1 wordt weergegeven als 1-Mar): de oorspronkelijke tekenreeks kan alleen vanuit de cel niet worden hersteld. Importeer opnieuw met die kolom getypt als Tekst.

Mojibake (ü, â€"-reeksen): opnieuw importeren met UTF-8 geselecteerd. Zoek-en-vervang-reparaties zijn mogelijk voor een handvol personages, maar op grote schaal onbetrouwbaar.

Scheidingstekenverrassingen

In veel Europese landen is het lijstscheidingsteken ;, dus een door komma's gescheiden bestand wordt geopend als één gigantische kolom (of omgekeerd). Stel in Power Query het scheidingsteken expliciet in het voorbeelddialoogvenster in. Voor een eenmalige oplossing splitst Gegevens → Tekst naar kolommen een import van één kolom opnieuw op.

Velden met aanhalingstekens zijn de andere klassieker: een beschrijving met komma's moet in de bron worden aangehaald; als de exporteur niet correct heeft geciteerd, verschuiven de kolommen voor die rijen. Verschoven rijen zijn gemakkelijk te herkennen door een kolom aan te vinken die een consistent type moet hebben, bijvoorbeeld =ISNUMBER(E2) retourneert plotseling FALSE middenbestand.

Waar een AI-assistent past

Na een rommelige import blijft er vaak een blad met gemengde schade over: sommige cijfers als tekst, sommige datums in twee formaten, een verschoven blok rijen. Het beschrijven van de oplossing is beter dan het kolom voor kolom doen. Met AI voor Excel in de zijbalk:

"Kolom A moet 5-cijferige postcodes zijn die zijn opgeslagen als tekst - herstel ontbrekende voorloopnullen. Kolom D moet datums zijn - converteer eventuele tekstdatums naar echte datums in JJJJ-MM-DD. Markeer rijen waar kolommen verschoven lijken."

De invoegtoepassing leest het bereik, past de conversies toe en - omdat het verifieert wat het schrijft en maakt een back-up voordat er iets wordt gewijzigd is - kunt u de samenvatting bekijken en terugdraaien als de oplossing niet was wat u wilde. Zie Controlelijst voor het opschonen van gegevens in 8 stappen voor de bredere opschoonworkflow.

Veelgestelde vragen

Waarom verwijdert Excel voorloopnullen uit CSV-bestanden?

Als u een CSV rechtstreeks opent, raadt Excel het type van elke kolom. Cijferreeksen worden behandeld als getallen en getallen hebben geen voorloopnullen. Importeer via Get Data (of de oude wizard) en stel die kolommen in op Tekst om ze te behouden.

Hoe open ik een UTF-8 CSV correct in Excel?

Gebruik gegevens → Gegevens ophalen → Uit tekst/CSV en stel Bestandsoorsprong in op 65001: Unicode (UTF-8) in het voorbeeld. Door op te slaan vanaf het bronsysteem als "CSV UTF-8" (met BOM) kan Excel het ook detecteren bij dubbelklikken.

Kan ik voorkomen dat Excel waarden naar datums converteert?

Ja — importeer met de betreffende kolom getypt als Tekst. In Excel 365 kunt u met Bestand → Opties → Gegevens → Automatische gegevensconversie ook de automatische datumconversie bij het laden uitschakelen.