• Hem
  • Kategorier
  • 0 Olästa 0
  • Senaste
  • Taggar
  • Populära
  • Användare
  • Grupper
Collapse
Dataportal logo

Community på Sveriges dataportal

Teckenkodning för CSV-data?

Scheduled Fäst Låst Flyttad Data
leverantörsfakturamaskinläsbarhet
11 Inlägg 4 Posters 1.4k Visningar
    • Bevakar
      Meddela mig om nya svar.
      Visa ämne i oläst.
    • Bevakar inte
      Meddela mig inte om nya svar.
      Visa ämne i oläst ifall kategorin är ignorerad.
    • Ignorerar
      Meddela mig inte om nya svar.
      Visa inte ämne i oläst.
    • Äldst till nyaste
    • Nyaste till äldst
    • Flest röster
Svara
  • Svara som ämne
Låst
Det här ämnet har raderats. Endast användare med ämneshanterings-privilegier kan se det.
  • J Offline
    J Offline
    jonor
    wrote on 11 maj 2021 00:33 Senaste redigerad av Kristine_ 12 maj 2021 09:10
    #1

    Hej, jag tittade på leverantörsfakturor.csv från DIGG.

    https://www.dataportal.se/sv/datasets/760_1544/leverantorsfakturor

    Det verkar som textfilen har en systemspecifik kodning (Windows-1252 eller ISO-8859-1?).

    2904798e-d3e0-4cd4-b890-99b84322d4b2-image.png

    I metadatan står att formatet är text/csv, men jag hittar inte någon information om teckenkodningen.

    Webbadress för åtkomst
    https://catalog.digg.se/store/1/resource/33
    Format
    Vanliga mediatyper
    CSV (.csv)

    Borde inte teckenkodningen vara UTF-8 eller anges uttryckligen i metadatan så att konsumenten kan avkoda innehållet korrekt?

    Lade märke till också att frågan om en standardteckenkodning togs upp i utkastet till specifikation för badplatser som refererades i en annan tråd:

    6 . CSV-formatet
    Det enklaste formatet att stödja är CSV formatet enligt RFC4180.
    Utöver det som sägs i RFC4180 krävs alltid att informationen är uttryckt med teckenkodning UTF-8.

    Kristine_K Ett svar Senaste svaret 11 maj 2021 08:11
    2
  • Kristine_K Offline
    Kristine_K Offline
    Kristine_
    replied to jonor on 11 maj 2021 08:11 Senaste redigerad av
    #2

    @jonor
    Tack för input! Jag tar med mig frågan. Personen ifråga som gör utdragen är ledig i veckan så jag återkommer när denne är åter.

    Vänliga hälsningar,
    Kristine

    J 2 svar Senaste svaret 11 maj 2021 22:27
    0
  • J Offline
    J Offline
    jonor
    replied to Kristine_ on 11 maj 2021 22:27 Senaste redigerad av jonor 11 maj 2021 22:34
    #3

    @kristine_ Ok, innehållet kanske borde ses över lite i en del andra avseenden också.

    En del fakturanummer verkar ha formaterats som talvärden med vetenskaplig notation.

    611343ac-75bf-4590-8763-0711a3553caa-image.png

    Här en icke kredit-faktura med negativt belopp? Jag vet inte om sånt händer, men det var ett udda fall i posterna.

    022479db-972b-4829-9b71-5251224bde35-image.png

    I samband med det undrar jag också om talformatet för kolumner finns angivna i metadatan, eller hur vet man vid maskin-inläsning om komma eller punkt används som decimalavgränsare?

    Ett svar Senaste svaret
    1
  • 5 månader senare
  • J Offline
    J Offline
    jonor
    replied to Kristine_ on 2 okt. 2021 11:26 Senaste redigerad av
    #4

    @kristine_ Hej, hur har det gått med detta dataset?

    Om datan ska vara maskinläsbar behöver det finnas metadata för teckenkodning och talformat som används.

    Är teckenkodningen Windows-1252, UTF-8, UTF-8 BOM?
    Vilken separator används som fältavgränsare?
    Vilken decimalseparator och tusentalavgränsare används för fält med talformat?

    Har DIGG några rekommendationer angående detta?

    Hur gör jag som läsare av det publicerade datasetet för att tolka innehållet korrekt?

    Kristine_K Ett svar Senaste svaret 12 okt. 2021 13:00
    0
  • 10 dagar senare
  • Kristine_K Offline
    Kristine_K Offline
    Kristine_
    replied to jonor on 12 okt. 2021 13:00 Senaste redigerad av
    #5

    @jonor Hej,
    Jag vill be om ursäkt för att det har tagit tid att besvara din fråga. Ser även att jag missade att återkoppla till dig i somras. Jag behöver ta frågan vidare med min kollega och ber om att få återkomma.

    Vänliga hälsningar,
    Kristine

    J Ett svar Senaste svaret 12 okt. 2021 14:06
    0
  • J Offline
    J Offline
    jonass
    replied to Kristine_ on 12 okt. 2021 14:06 Senaste redigerad av
    #6

    @kristine_ WOW! Har kollat på dataset, verkligen föredömligt att öppna upp leverantörsfakturor. Lite förvånad att det inte har fått mer uppmärksamhet, finns en stor potential om svensk statsförvaltning följer i DIGG:s fotspår. @jonor antar att UTF-8 är ett rimligt val för encoding.

    mattiasM Ett svar Senaste svaret 12 okt. 2021 14:38
    1
  • mattiasM Offline
    mattiasM Offline
    mattias
    replied to jonass on 12 okt. 2021 14:38 Senaste redigerad av
    #7

    @jonass sa i Teckenkodning för CSV-data?:

    @jonor antar att UTF-8 är ett rimligt val för encoding.

    @jonor Det finns en specifikation för leverantörsreskontra på Dataportal.se. Flera arbetar med att börja följa den och vissa har ännu inte angett på Dataportal att de följer den.

    @jonass Du har rätt om att UTF-8 är rimligt val. I specifikationen så rekommenderas just UTF-8: https://lankadedata.se/spec/leverantorsreskontra/#csv.

    Mattias Axell

    Ett svar Senaste svaret
    1
  • J Offline
    J Offline
    jonor
    wrote on 12 okt. 2021 22:01 Senaste redigerad av jonor 12 okt. 2021 22:03
    #8

    @mattias Tack, då kan man förstås fundera över varför DIGG inte verkar ha känt till den specifikationen.

    Jag är osäker på om schemalänken fanns på sidan för datasetet förut, men den säger hur som helst ingenting om teckenkodning, separatortecken eller datatyper, det är som synes bara en lista över kolumnnamn.

    https://lankadedata.se/spec/leverantorsreskontra/schema.json

    Det är bra att det finns en manuell specifikation för leverantörsreskontra som beskriver fältvärden och sådant, men den svarar inte heller inte på de frågor jag ställde angående CSV-formatet. Hur ska jag veta som datakonsument hur jag ska avkoda filen?

    I specifikationens punkt 3 om CSV-formatet står det:

    För den här specifikationen innebär det att implementatörer rekommenderas även stödja semikolonseparerade filer.

    För att särskilja data som är semikolonseparerade från kommaseparerade måste första raden se ut som:
    kopare_id;kopare;verifikationsnummer;leverantor;leverantor_id;konto_nr;konto_text;belopp;datum;forvaltning;faktura_nr;grund;avtal;kommun_id,s_kod_nr

    (Här har det dessutom smugit sig in en felskrivning där sista separatorn är ett kommatecken.)

    Jag tycker det verkar märkligt. Är det jag som datakonsument som ska vara "implementatören" och stödja andra format än det standardiserade?

    Det framgår inte tydligt hur jag ska lösa det från konsumentsidan.

    Det står "för att särskilja data måste första raden se ut som ...", men ingen hänvisning till hur detta stöds eller implementeras i bibliotek eller programvaror. Ni verkar här uppmuntra dataleverantörer att lägga ut variationer som avviker från standardformatet och lämnar till konsumenten att tolka detta utifrån filinnehållet istället för att deklarera formatet i metadata.

    Sedan blir det ju en motsägelse då man bryter mot specifikationen om man lägger ut en svenskspråkig Excel-export med semikolonavskiljare för fält och kommatecken för decimaltal?

    Denna specifikation kräver dock att man använder punkt i decimaltal (se 2.1).

    Antingen bör ni väl hålla er till standardiserad CSV enligt RFC eller deklarera i metadata all information om avvikelser som behövs för automatisk inläsning?

    Så vitt jag kan se beskrivs det faktiskt i dokumentationen ni hänvisar till hur detta ska göras:

    https://www.w3.org/TR/tabular-metadata/#dialect-descriptions

    https://www.w3.org/TR/tabular-data-primer/#dialects

    6.5 What about CSV that isn't standard CSV?
    A lot of what's called "CSV" that's published on the web isn't actually CSV. It might use something other than commas (such as tabs or semi-colons) as separators between values, or might have multiple header lines.

    The metadata that's described here can be used with files that contain tabular data but that aren't CSV. You can provide guidance to processors that are trying to parse those files through the dialect property on a table description.

    EXAMPLE 126

    {
      "@context": "http://www.w3.org/ns/csvw",
      "url": "http://example.org/data/unemployment.tsv",
      "dialect": {
        "delimiter": "\t",
        "headerRowCount": 3
      }
    }
    

    I datasetet på dataportalen så talar ni dock bara om att jag ska ignorera blanktecken runt fältvärden:

      "dialect": {"trim": true},
    
    J mattiasM 2 svar Senaste svaret 12 okt. 2021 22:16
    0
  • J Offline
    J Offline
    jonor
    replied to jonor on 12 okt. 2021 22:16 Senaste redigerad av
    #9
    Detta inlägg är raderat!
    Ett svar Senaste svaret
    0
    • mattiasM Offline
      mattiasM Offline
      mattias
      replied to jonor on 14 okt. 2021 10:05 Senaste redigerad av
      #10

      @jonor sa i Teckenkodning för CSV-data?:

      @mattias Tack, då kan man förstås fundera över varför DIGG inte verkar ha känt till den specifikationen.

      Det kan finnas flera olika anledningar men en generell anledning är att specifikationen inte har kommunicerats särskilt mycket externt. Denna spec som vidareutvecklades av NSÖD lyfts t.ex. inte inför workshop kring just Specifikationer idag 2021-10-14. Istället länkas det till en specifikation om leverantörsreskontra från utlandet som ingen i Sverige använder så vitt jag vet.

      Hur ska jag veta som datakonsument hur jag ska avkoda filen?
      ...

        "dialect": {"trim": true},
      

      Tack @jonor jag har lagt upp dina synpunkter på Gitlab-projektet så gott jag kan. Du är varmt välkommen att bidra om just denna spec där.

      Mattias Axell

      J Ett svar Senaste svaret 14 okt. 2021 21:08
      1
    • J Offline
      J Offline
      jonor
      replied to mattias on 14 okt. 2021 21:08 Senaste redigerad av
      #11

      @mattias Ok, tack för uppdateringen.

      Ett svar Senaste svaret
      0
    • Kristine_K Kristine_ moved this topic from Efterfråga data och API:er on 28 mars 2022 15:49
    11 maj 2021 00:33

    Post 7 of 11

    11 maj 2021 00:33

    14 okt. 2021 21:08
    Finansieras av Europeiska unionen logo
      • Online PierreMesure
      • Status
      • Online Online
      • Borta Borta
      • Stör inte Stör inte
      • Osynlig Osynlig
      • Bokmärken
      • Redigera profil
      • Inställningar
    • Sök
    • 0 Notiser 0
      • Markera alla notiser som lästa All notifications
    • 0 Drafts 0
      •  
         
         
        You have no drafts
    1 / 1
    • Första inlägget
      Sista inlägget
    0
    • Hem
    • Kategorier
    • Olästa 0
    • Senaste
    • Taggar
    • Populära
    • Användare
    • Grupper
    • Sök
    • 0 Notiser 0
      • Markera alla notiser som lästa All notifications
    • 0 Drafts 0
      •  
         
         
        You have no drafts
      • Online PierreMesure
      • Status
      • Online Online
      • Borta Borta
      • Stör inte Stör inte
      • Osynlig Osynlig
      • Bokmärken
      • Redigera profil
      • Inställningar

    Ser ut som din anslutning till Community på Sveriges dataportal gick förlorad, vänta medan vi försöker att återansluta.