Dato i Excel til dato i mySQL

Excel brukes til å utveksle data, også data som burde deles i andre formater. En tid tilbake fikk jeg noen databasetabeller, delt opp i fem excel-dokumenter (slik at den som gav meg dataen kunne maile den). Jeg ville (naturlig nok?) ha dette over i mySQL. Av det lærte jeg et par triks.

1. Datoer i Excel må krangles over i mySQL, alternativt kan du gjøre dette:
Lag en ny kolonne for dato.
Legg inn følgende formel i første celle:
=TEKST(A1, YYYY-MM-DD)
(min versjon av Excel er på Norsk, hvis du har en utenlandsk versjon skal TEKST skrives som TEXT)

Så kommer enda en utfordring. For å duplisere formlen ville jeg vanligvis ha klikket og dratt det lille krysset nede i høyre hjørne av cellen, helt ned til nederste rad i kolonnen. Men kolonnen er et titalls-tusen rader lang! Å klikk og dra tar jo evig tid.

Ved å dobbeltklikke på dette likke krysset, så auto-kopieres formelen helt ned til siste rad. Nice.
Lagre som CSV.

2. Excel lagrer CSV-dokumenter med rare tegnsett.
For å importere til mySQL må tegnsettet være noe mySQL skjønner. Ved å bare large som CSV gikk dette i ball for meg. For å enkelt få kontroll på dette åpnet jeg den nylagde CVS-filen i Textmate og lagret den igjen, men da ved å endre tegnsettet til UTF-8 og linjeskift til LF (begge de anbefalte valgene i Textmate).

Vips, importer til mySQL
Jeg bruker Sequal Pro som GUI til mySQL. Her er det en egen «Import…» kommando under «File..».

Skrevet av

Eirik

Poster av denne "forfatteren" er fra min gamle blogger-blog. (men også den jeg stadig er logget inn med..)

3 kommentarer om “Dato i Excel til dato i mySQL”

  1. Hei Stig.
    Akkurat i dette tilfellet i mitt arbeid var det for å kunne jobbe med dataene fra et kraftigere verktøy enn Excel. Materialet er på knappe 5 millioner enkeltrader i de største tabellene, dette håndterer rett og slett ikke Excel.

    «Excel-databasetabellene» som du skriver, er jo databaseinnhold, men i «feil format». Excel er ingen database (selv om definisjonen av database kan strekkes dit. MS mener nok selv ogsÃ¥ dette, da de selger MS Access og MS SQL som databaseverktøy).

    Det er mange andre gode grunner til å handtere en database i et databasehandteringsverktøy (mysql) og ikke i Excel, først og fremst muligheten for automatisering, skalering og hurtighet. Excel er glimrende til små prosjekter, men ikke så bra til større. Mulighetene i SQL er også en grunn nok i seg selv, det er mye greiere å hente data ut (snevre ned) i SQL enn med de innebygde funksjonene i Excel.

    Dette er nok ogsÃ¥ litt av grunnen til at data utleveres i formater som ikke er optimale (som pdf og excel) – de fleste datamaskiner har programvare til Ã¥ vise fram dataen. Det betyr ikke at det er «riktig verktøy» for de som skal noe mer enn Ã¥ se pÃ¥. Tror jeg.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *