Komma og punktum kan endre beløpet ved CSV-import
En beløpstekst må tolkes etter avtalt format, ikke etter maskinens tilfeldige språkinnstilling.
Et beløp skrevet som 1250,50 kan være korrekt norsk visning, men feil for en parser som forventer punktum. Desimaltegn og kolonneseparator er to forskjellige avtaler. Et semikolonseparert uttrekk med desimalkomma må ikke leses som en vanlig kommaseparert fil uten kontroll.
RFC 4180 beskriver en vanlig CSV-form med komma som separator og regler for sitering. Den bestemmer ikke alle lokale eksportvarianter eller beløpets virksomhetsmessige betydning. Les derfor kildefilens faktiske formatbeskrivelse.
Tre tekster som krever forskjellig tolkning
Syntetisk eksempel med NOK-beløp.
| Kildetekst | Avtalt format | Riktig verdi |
|---|---|---|
1250,50 | Desimalkomma | 1 250,50 NOK |
1250.50 | Desimalpunktum | 1 250,50 NOK |
1,250 | Uavklart | Kan ikke godkjennes uten formatgrunnlag |
Feil lesing av 1250,50 | Komma slettes | 125 050 NOK |
Den siste feilen gjør beløpet hundre ganger større. Den kan passere en generell tallkontroll fordi resultatet fortsatt er et gyldig heltall.
Kontroller formatet før masseimport
Velg en liten fil med kjente beløp: et heltall, et desimalbeløp, et negativt beløp og en tom verdi. Vis både kildetekst og tolket tall i en prøverapport. En import som bare viser sluttsummen, gjør feilen vanskeligere å lokalisere.
Undersøk også sitering. Et desimalkomma i en kommaseparert fil må representeres på en måte som ikke blir en ny kolonne. Varetekst med komma er et annet godt testtilfelle.
- Fastsett separator og desimaltegn eksplisitt.
- Avvis blandede tallformater med mindre en dokumentert regel håndterer dem.
- Bevar råtekst for avvikende felt.
- Sammenlign beløp og antall kolonner med originalen.
- Avstem sum og et utvalg enkeltposter.
Ikke gjett ut fra siste tegn
En verdi som 1.234 kan bety 1,234 eller 1 234 avhengig av formatet. En automatisk heuristikk kan virke på mange poster og feile på nettopp den store transaksjonen. Bruk kildekontrakten som avgjørelse.
Hvis filen kommer fra en manuell regnearkeksport, bør språkinnstilling og eksportvalg dokumenteres. Samme kolonner kan få nytt tallformat når en annen bruker lager filen.
Teknisk korrekt parsing beviser ikke at beløpet gjelder riktig valuta eller er netto. Kontroller disse betydningene separat.
Les tusenskilletegn og nullverdier.
Sammenlign to filer laget av forskjellige brukere med samme testposter. Hvis den ene gir 1 250,50 og den andre 125 050, er eksportformatet ikke stabilt. Rett avtalen eller eksportinnstillingen før flere filer behandles, og bevar prøvefilene som dokumentasjon på hvilken variant som er godkjent.
Kilde
En korrekt separatoravtale avgjør ikke hvordan tekstfeltene vises i et regneark. Ved kunderegisteroverlevering bør rådata og bearbeidet visningskopi få forskjellige roller, slik at den gjennomgåtte kopien ikke blir en uforklart ny importkilde.