Datalandsbyen Logo

    Datalandsbyen

    • Kategorier
    • Emneord
    • Siste
    • Populære
    • Kalender
    • Lenkeikon
    • Søk
    • Varslinger Logg inn / Registrer
    Community illustrasjon

    Datalandsbyen

    Velkommen til nettforumet Datalandsbyen! Vi er glade for at du har funnet frem til oss.

    Her kan du stille spørsmål om alt du måtte lure på om deling og bruk av data, eksempelvis datasett, API-er, begreper, informasjonsmodeller og juss, videre kan du delta i diskusjoner, vise frem prosjektene dine, knytte nye kontakter og finne nye samarbeid. Nettforumet er åpent for alle, men for å skrive innlegg må du først registrere deg. Formålet med forumet er å legge til rette for at data skal bli en verdiskapende ressurs for hele samfunnet – bli med og bidra til økt kunnskap, åpenhet og innovasjon. Vi oppfordrer til en konstruktiv og saklig dialog i nettforumet.

    Nedlasting av data om kjøretøy

    Tips og spørsmål
    5
    14
    6254
    Laster flere innlegg
    • Eldste til nyeste
    • Nyeste til eldste
    • Flest stemmer
    Denne tråden har blitt slettet. Bare brukere med trådhåndterings-privilegier kan se den.
    • robert.sasak
      robert.sasak sist endret av

      Jeg kan ambefalle q (http://harelba.github.io/q/) som en enkelt SQL databasen direkte mot CSV filen. Som sagt vi jobber mye med kjøretøy databasen og har flere interne API. Kanskje vi kan hjelpe med.

      M 1 Svar Siste svar Svar Siter 1
      • S
        sven_bruun sist endret av sven_bruun

        Målet er å lage noe statistikk rundt enkelte kjøretøymodeller. Har brukt Microsoft Access og Excel, og begge har begrensning på antall rader. Å kjøre filen gjennom grep er en mulighet for å gjøre dem mindre før import, men filtreringen der er jo ganske simpel.

        1 Svar Siste svar Svar Siter 0
        • L
          livar.bergheim sist endret av livar.bergheim

          Her er oppskrift på korleis du filtrerer ut ei delmengde av datasettet ved hjelp av q, så du kan jobbe vidare med det i andre verktøy.

          Forutsetningar: q er installert og du har lasta ned kjøretøy-datasettet (kjoretoy.csv)

          Først kan du sjekke kor mange rader utvalget gir. Her med merkenamn = "BMW", som i skjermbildet i første posten din.

          q -C readwrite -H -O --delimiter=\; "SELECT COUNT(*) FROM kjoretoy.csv WHERE tekn_merkenavn = 'BMW'"
          

          Svaret er 286 833 treff, og det er godt under grensa på ca. 1 million rader i Excel.

          Neste steg er å lagre delmengda til ei ny fil (kjoretoy_bmw.csv):

          q -C read -H -O --delimiter=\; "SELECT * FROM kjoretoy.csv WHERE tekn_merkenavn = 'BMW'" > kjoretoy_bmw.csv
          

          I første kommandoen opprettar ein også ei cache-fil (parameter: -C readwrite) som gjer at vidare kommandoar på samme datasett går mykje fortare ved bruk av cache (parameter: -C read). Første kommandoen tok ca. 10 minutt hos meg, mens 2. kommando tok eit halvt minutt. Dersom eg køyrer første kommandoen på nytt med cache, så tar det rundt 5 sekund.

          Cache-fila tar ein del diskplass - om lag like mykje som sjølve datasettet.

          OBS! Dersom ein opnar ei CSV-fil direkte i Excel, så vil Excel gjette kva datatypar det enkelte felt/kolonne har. Det kan føre til at data blir endra til feil datatype (f.eks. tal blir datoar). For å unngå at Excel rotar til dataene, kan ein først opne Excel, og deretter importere CSV-fila. Brønnøysundregistrene har skrive tips om dette på sine nettsider (under "Korrigere formatfeil i CSV-dokumentet").

          1 Svar Siste svar Svar Siter 4
          • S
            sven_bruun sist endret av

            Fungerer dessverre ikke hos meg. Får feilmelding. Kan det være fordi det ser ut til å være noe grums i starten av csv filen?
            2022-01-27_12-12-41.png

            query error: no such column: tekn_merkenavn
            Warning - There seems to be a "no such column" error, and -H (header line) exists.
            Please make sure that you are using the column names from the header line and not the default (cXX) column names. Another issue might be that the file contains a BOM. Files that are encoded with UTF8 and contain a BOM can be read by specifying -e utf-9-sig in the command line. Support for non-UTF8 encoding will be provided in the future.

            Har så prøvd med
            2022-01-27_12-12-59.png

            men da får jeg feilmelding: Encoding utf-9-sig could not be found

            L 1 Svar Siste svar Svar Siter 0
            • L
              livar.bergheim Svar til @sven_bruun sist endret av livar.bergheim

              @sven_bruun sa i Nedlasting av data om kjøretøy:

              Fungerer dessverre ikke hos meg. Får feilmelding. Kan det være fordi det ser ut til å være noe grums i starten av csv filen?
              2022-01-27_12-12-41.png

              Ser ut til at det manglar semikolon på delimiter-parameteret. Kan dette vere feilen?
              «--delimiter=\» skal vere «--delimiter=\;»

              Om det ikkje fungerer, så kan du prøve å laste ned fila utan BOM.
              Dersom ein brukar parameteret "?download" ved nedlasting av heile datasettet frå Datahotellet, så får ein med BOM (Byte Order Mark). Å ha med BOM ser ut til å hjelpe dersom ein vil opne fila direkte i Excel. Dersom ein ikkje har behov for BOM, så bør ein laste ned utan.

              Dei to alternative nedlastinglenkene er:
              https://hotell.difi.no/download/vegvesen/kjoretoy?download - med BOM
              https://hotell.difi.no/download/vegvesen/kjoretoy - utan BOM

              1 Svar Siste svar Svar Siter 0
              • S
                sven_bruun sist endret av

                Prøvde med et semikolon der først, men da fikk jeg feilmeldingen:
                Delimiter must be one character only

                L 1 Svar Siste svar Svar Siter 0
                • L
                  livar.bergheim Svar til @sven_bruun sist endret av

                  @sven_bruun sa i Nedlasting av data om kjøretøy:

                  Prøvde med et semikolon der først, men da fikk jeg feilmeldingen:
                  Delimiter must be one character only

                  Det ein må gjere er å oppgje semikolon som separator i q-kommandoen. Eg køyrte kommandoen på min Macbook, og måtte nytte skråstrek for å unnsleppe (escape) semikolon som fungerer som skilje mellom to separate kommandoar. Ut frå feilmeldinga frå q som du nemner, så har tydelegvis q fått inn meir enn eitt teikn. Har ikkje noko godt råd for korleis å få det til hos deg om det ikkje fungerer med kun semikolon eller med skråstrek i tillegg.

                  1 Svar Siste svar Svar Siter 0
                  • L
                    livar.bergheim sist endret av

                    Eg spurte også på Twitter om tips til korleis jobbe med store CSV-filer og fekk mange svar:
                    https://twitter.com/livarb/status/1480534725429276672

                    Har ikkje rukke å oppsummere svara her - endå.

                    1 Svar Siste svar Svar Siter 1
                    • T
                      tov.are.jacobsen sist endret av

                      Jeg har brukt Go med kun standard-biblioteket en del de siste årene for første behandling av store CSV-filer (og sammenstillng av Excel gjennom excelize biblioteket). Go er minne-effektivt med utf-8 internt, og med litt parallell kjøring kan man iterere relativt hurtig på noen GB. I senere tid er Copilot tjenesten til github nyttig og gjør at man kan skrive kommentarer som "UFT-16 with BOM transformer encoding" fremfor å lete i dokumentasjonen (Men, det blir jo litt kodelinjer, så det er ikke noe man alltid ønsker å dra frem)

                      Dette er egentlig ikke noen erstatning for Pandas i python eller tidyverse i R.

                      Google BigQuery er ganske rimelig når datasettet blir stort.

                      1 Svar Siste svar Svar Siter 1
                      • M
                        mmillan Svar til @robert.sasak sist endret av

                        @robert-sasak sa i Nedlasting av data om kjøretøy:

                        Jeg kan ambefalle q (http://harelba.github.io/q/) som en enkelt SQL databasen direkte mot CSV filen. Som sagt vi jobber mye med kjøretøy databasen og har flere interne API. Kanskje vi kan hjelpe med.

                        1 Svar Siste svar Svar Siter 1
                        Ikon Svar
                        Ikon Logg inn for å besvare
                        • Første innlegg
                          Seneste innlegg
                        • Datalandsbyen Logo
                        • Våre partnere
                        • Felles datakatalog Åpne
                        • Datafabrikken Åpne
                        • Transportportal Åpne
                        • Om nettstedet
                        • Digitaliseringsdirektoratet forvalter datalandsbyen.
                        • Samtykke og brukervilkår
                        • Personvernerklæring Åpne
                        • Informasjonskapsler Åpne
                        • Tilgjengelighetserklæring Åpne
                        • Kontakt
                        • Lenkeikonfellesdatakatalog@digdir.no