{"id":65,"date":"2010-06-07T20:38:23","date_gmt":"2010-06-07T18:38:23","guid":{"rendered":"http:\/\/www.matjazev.net\/blog\/?p=65"},"modified":"2010-06-17T23:14:05","modified_gmt":"2010-06-17T21:14:05","slug":"csv-comma-separated-values-ali-izvoz-iz-excela","status":"publish","type":"post","link":"https:\/\/www.matjazev.net\/blog\/2010\/06\/07\/csv-comma-separated-values-ali-izvoz-iz-excela\/","title":{"rendered":"CSV (Comma separated values) ali izvoz iz Excela"},"content":{"rendered":"<p>Danes sem bil spet pri\u010da zanimivemu \u00bbproblemu\u00ab, ko se je name obrnila obupana uporabnica, \u010de\u0161, <strong>da ji Excel napa\u010dno prikazuje cenik.<\/strong> \ud83d\ude42 Da bi tale zapis ne bil predolg, bom presko\u010dil zamudni del dokaj zanimivega pogovora, ki pa me je na koncu pripeljal do sr\u010dike problema.<\/p>\n<p>Problem je bil, kot \u017ee velikokrat v \u017eivljenju <strong>povsem banalen in povsem drugje, kot pa tam, kjer ga je uporabnica najprej iskala<\/strong>. No za\u010deli smo s tem, da izvoz v Excelu 2007 deluje, v Excelu 2003 pa ne\u2026 <em>Aha; in potem svizec zavije \u010dokolado z le\u0161niki.<\/em><\/p>\n<h2>Kaj je CSV?<\/h2>\n<p>CSV je kratica, ki v sloven\u0161\u010dini pomeni <strong>&#8216;podatki lo\u010deni z vejico&#8217;<\/strong> in torej predstavlja <strong>navadno tekstovno datoteko<\/strong>, v kateri se v vsaki vrstici nahaja poljubno mnogo podatkov, ki so pa\u010d medsebojno lo\u010deni z vejico. Torej:<\/p>\n<p><pre>\nIme;priimek;starost\nFranc;Jo\u017eef;67\nMarija;Novak \u0160tefan\u010di\u010d;30\n<\/pre><\/p>\n<p>Ko tak\u0161no datoteko preberemo z Excelom, slednji pa\u010d posamezno vrstico datoteke prebere v posamezno vrstico tabele, podatke v vrstici (lo\u010dene z vejico) pa prebere v posamezne celice v vrsticah. Glede na gornji primer torej dobimo slede\u010de:<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/www.matjazev.net\/blog\/wp-content\/uploads\/2010\/06\/excel_csv.gif\" \/><\/p>\n<h2>CSV v Sloveniji<\/h2>\n<p>\u010ce ste podrobno brali ste lahko opazili zelo<strong> pomembno nedoslednost<\/strong>. Najprej sem namre\u010d trdil, da CSV predstavlja podatke lo\u010dene z vejico,<strong> v mojem primeru pa so podatki lo\u010deni s podpi\u010djem.<\/strong><\/p>\n<p>S tem torej pridemo do prvega<strong> resnega problema CSV datotek<\/strong> oz. bolj natan\u010dno, problema CSV datotek in Excela. \u010ceravno kratica CSV pomeni &#8216;lo\u010deno z vejico&#8217;, slednje, kot vidite, ni nujno tako.<\/p>\n<blockquote><p>DEJSTVO 1: Excel izva\u017ea\/uva\u017ea podatke v CSV datoteko lo\u010dene z lo\u010dilom, ki je v sistemu nastavljeno kot lo\u010dilo seznama (z drugimi besedami, tisto lo\u010dilo, ki ga uporabljate kot lo\u010dilo parametrov v Excelovih funkcijah).<\/p><\/blockquote>\n<p>Gornje dejstvo pa\u010d pomeni, da Excel s <strong>slovenskimi nastavitvami CSV naredi tako, da ga lo\u010di s podpi\u010djem<\/strong> (saj tudi parametre funkcij lo\u010dimo s podpi\u010dji), <strong>Excel z angle\u0161kimi nastavitvami, pa CSV datoteko resni\u010dno lo\u010di z vejico<\/strong>. Seveda pa lahko obstaja tudi dr\u017eava, kjer posamezne elemente lo\u010dijo z dvopi\u010djem in v tem primeru bi njihova CSV datoteka bila lo\u010dena pa\u010d s dvopi\u010djem.<\/p>\n<blockquote><p>DEJSTVO 2: CSV datoteke med razli\u010dnimi nastavitvami Oken niso nujno direktno prenosljive (to je pravzaprav neposredna posledica prvega dejstva).<\/p><\/blockquote>\n<p>Tudi to dejstvo lahko hitro preizkusite tako, da naredite tekstovno datoteko, kjer posamezne elemente lo\u010dite z vejico. Datoteki daste kon\u010dnico CVS in jo odprete z Excelom. <strong>Excel bo vse podatke uvozil v eno kolono, saj med njimi ne najde podpi\u010dja<\/strong>, zatorej sklepa, da gre za en sam podatek.<\/p>\n<blockquote><p>POMEMBNO: Seveda pa lahko tudi tak\u0161no datoteko preprosto (pravilno!) preberete v Excel tako, da jo najprej odprete in nato z orodjem &#8216;Besedilo v stolpce&#8217; preberete v posamezne stolpce.<\/p><\/blockquote>\n<h2>CSV in podatkovne tipi<\/h2>\n<blockquote><p>DEJSTVO 3: Excel se ob branju CSV datoteke ne zaveda kak\u0161nega tipa so podatki, ki jih bere. To pomeni, da \u010de nekaj izgleda kot \u0161tevilo, bo to prebral kot \u0161tevilo.<\/p><\/blockquote>\n<p>Dobro, pri uvozu podatkov nam je to dokaj jasno, kaj pa pri izvozu; <strong>kaj se zgodi, ko podatke v Excelu posnamemo kot CSV datoteko<\/strong>? No tu pa pridemo do problema, ki ga je danes imela uporabnica.<\/p>\n<blockquote><p>DEJSTVO 4: \u0160tevil\u010dne podatke bo Excel posku\u0161al v CSV datoteko zapisati tako, kot jih vi vidite na ekranu.<\/p><\/blockquote>\n<p>\u010ce torej vi pred shranjevanjem v Excelu dolo\u010dite naj slednji \u0161tevila prikazuje s \u0161tirimi decimalkami bo tudi v CSV datoteko zapisal natanko 4 decimalke. \u010ce pa mu zauka\u017eete naj prikazuje \u0161tevila z dvema decimalkama, pa bo tudi CSV datoteka imela vsa \u0161tevila z dvema decimalkama.<\/p>\n<p>In to naj bo tudi nauk, ki sem vam ga \u017eelel posredovati z dana\u0161njim zapisom. <strong>O CSV datotekah si zapomnite slede\u010de:<\/strong><br \/>\n<em><\/p>\n<ol>\n<li>To so navadne tekstovne datoteke, ki jih lahko odprete, gledate in popravljate tudi v notepadu.<\/li>\n<li>Excel pri\u010dakuje, da so v CSV datoteki posamezni podatki lo\u010deni z lo\u010dilom, ki je v sistemu dolo\u010deno kot lo\u010dilo seznama.<\/li>\n<li>Pri shranjevanju Excelove datoteke, kot CSV datoteke, se shrani samo trenutni list (vsi ostali listi so nepovratno izgubljeni).<\/li>\n<li>\u0160tevilke v CSV datoteki bodo zapisane tako, kot jih vi vidite na ekranu.<\/li>\n<\/ol>\n<p><\/em><br \/>\n\u010cisto za konec pa \u0161e majhna zanka, ki pa jo lahko hitro preizkusite in pridete do re\u0161itve\u2026 <strong>Kaj pa Excel naredi, ko se med podatki pojavi lo\u010dilo?<\/strong> Kaj torej Excel naredi \u010de se v celici pred izvozom v CSV nahaja podpi\u010dje?<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Danes sem bil spet pri\u010da zanimivemu \u00bbproblemu\u00ab, ko se je name obrnila obupana uporabnica, \u010de\u0161, da ji Excel napa\u010dno prikazuje cenik. \ud83d\ude42 Da bi tale zapis ne bil predolg, bom presko\u010dil zamudni del dokaj zanimivega pogovora, ki pa me je na koncu pripeljal do sr\u010dike problema. Problem je bil, kot \u017ee velikokrat v \u017eivljenju povsem &hellip; <a href=\"https:\/\/www.matjazev.net\/blog\/2010\/06\/07\/csv-comma-separated-values-ali-izvoz-iz-excela\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">CSV (Comma separated values) ali izvoz iz Excela<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[18],"tags":[16,14,15,9,61],"_links":{"self":[{"href":"https:\/\/www.matjazev.net\/blog\/wp-json\/wp\/v2\/posts\/65"}],"collection":[{"href":"https:\/\/www.matjazev.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.matjazev.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.matjazev.net\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.matjazev.net\/blog\/wp-json\/wp\/v2\/comments?post=65"}],"version-history":[{"count":19,"href":"https:\/\/www.matjazev.net\/blog\/wp-json\/wp\/v2\/posts\/65\/revisions"}],"predecessor-version":[{"id":92,"href":"https:\/\/www.matjazev.net\/blog\/wp-json\/wp\/v2\/posts\/65\/revisions\/92"}],"wp:attachment":[{"href":"https:\/\/www.matjazev.net\/blog\/wp-json\/wp\/v2\/media?parent=65"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.matjazev.net\/blog\/wp-json\/wp\/v2\/categories?post=65"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.matjazev.net\/blog\/wp-json\/wp\/v2\/tags?post=65"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}