Pri iskanju informacij sem odkril Vaš blog in forum. Vsekakor najprej pohvala, da svoje znanje in izkušnje delite z drugimi.
Moja "težava" pa tiči v uvozu podatkov iz csv datoteke v excel. Gre za podatke o porabi električne energije (trenutna moč, dvourna poraba, dnevna poraba) kar nanazadnje zaradi minutnega zapisa nanese enormno število vrstic. Pri prvem uvozu, upoštevajoč vejico so se podatki razvrstili normalno, a sem naknadno ugotovil, pri dvourni porabi oz. temperaturi v °C, da so podatki napačni, in sicer je porabo (4 stolpec oz. Total Electricity), ki ima lahko tudi tri decimalna mesta (v spodnjem primeru 0,166) razbil na dve števili .
Še primera:
1. dvourna poraba
Sensor ID, Timestamp, Data Type, Total Electricity, Phase 1 Electricity, Phase 2 Electricity, Phase 3 Electricity, Temperature_C, Temperature_F
0,18.10.2012 19:00:00, BiHourlySummary, 0,166, 0, 0, 0, 0, 32
2. temperatura
Sensor ID, Timestamp, Data Type, Total Electricity, Phase 1 Electricity, Phase 2 Electricity, Phase 3 Electricity, Temperature_C, Temperature_F
0,26.10.2012 06:55:00, Live, 104, 36, 39, 29, 22,3, 72
Kot rešitev sem probal najprej z združevanjem števil, nato pa še z določanjem fiksne širine. Niti prvi, niti drugi način nista najbolj uporabna glede na enostavnost in čas . Ena od rešitev bi bila, če bi bili podatki v osnovi med seboj ločeni že z podpičjem, saj sta pika oz. dvopičje že v uporabi pri datumu oz. v času. Vendar, če ne bi bilo čejev,...
Zato me zanima, kako bi si lahko olajšal delo in prihranil čas
uvozu podatkov iz csv v excel
Re: uvozu podatkov iz csv v excel
Pozdravljeni,
Kot ste rekli že sami je problem v tem, da so podatki ločeni z vejico, ki pa se hkrati lahko pojavi tudi med podatki samimi - že to je torej dovolj, da uvidite, da ni preproste rešitve, saj je napaka že na izvoru podatkov!
Toda, v kolikor so podatki zares zapisani tako, kot ste zapisali potem pa imate možnost avtomatizacije postopka uvoza. Če je torej res, da je pri dveurni porabi skupna poraba vedno zapisana v obliki decimalnega števila z vejico in pri elementarnem zapisu vedno temperatura zapisana kot decimalno število z vejico, potem lahko podatke normalno uvozite in po uvozu pač upoštevate, da morate pri vrstici 'BiHourlySummary' združiti stolpca za porabo, torej stolpca D in E, pri elementarnem zapisu pa stolpca za temperaturo, torej H in I.
V kolikor pa zgoraj zapisana predpostavka ne velja potem pa mogoče velja predpostavka, da je za "pravo" vejico, torej vejico, ki loči podatke vedno presledek - tako ste zapisali vi v primerih.. V tem primeru pa lahko najprej v celi CVS datoteki najprej vejico in presledek zamenjate s podpišjem (' ,' --> ';') in potem uvozite popravljeno datoteko tako da za ločilo izberete podpičje.
Če ne velja nič od tega in se decimalni simbol vejic pač lahko pojavi v poljubnem stolpcu in včasih ne, včasih pa da; potem pa ni možnosti avtomatičnega uvoza, saj računalnik preprosto ne more vedeti ali je neka vejica meja med dvema številoma ali decimalni simbol.
Kot ste rekli že sami je problem v tem, da so podatki ločeni z vejico, ki pa se hkrati lahko pojavi tudi med podatki samimi - že to je torej dovolj, da uvidite, da ni preproste rešitve, saj je napaka že na izvoru podatkov!
Toda, v kolikor so podatki zares zapisani tako, kot ste zapisali potem pa imate možnost avtomatizacije postopka uvoza. Če je torej res, da je pri dveurni porabi skupna poraba vedno zapisana v obliki decimalnega števila z vejico in pri elementarnem zapisu vedno temperatura zapisana kot decimalno število z vejico, potem lahko podatke normalno uvozite in po uvozu pač upoštevate, da morate pri vrstici 'BiHourlySummary' združiti stolpca za porabo, torej stolpca D in E, pri elementarnem zapisu pa stolpca za temperaturo, torej H in I.
V kolikor pa zgoraj zapisana predpostavka ne velja potem pa mogoče velja predpostavka, da je za "pravo" vejico, torej vejico, ki loči podatke vedno presledek - tako ste zapisali vi v primerih.. V tem primeru pa lahko najprej v celi CVS datoteki najprej vejico in presledek zamenjate s podpišjem (' ,' --> ';') in potem uvozite popravljeno datoteko tako da za ločilo izberete podpičje.
Če ne velja nič od tega in se decimalni simbol vejic pač lahko pojavi v poljubnem stolpcu in včasih ne, včasih pa da; potem pa ni možnosti avtomatičnega uvoza, saj računalnik preprosto ne more vedeti ali je neka vejica meja med dvema številoma ali decimalni simbol.
lp,
Matjaž Prtenjak
Administrator
Matjaž Prtenjak
Administrator
Re: uvozu podatkov iz csv v excel
Hvala za hiter odogovor in nasvete.
Ravno danes pa sem dobil še odgovor od podjetja. V nadzorni plošči sem spremenil Območne in jezikovne možnosti iz slovenščine v angleščino (UK) in začuda zadeva deluje
Še enkrat hvala.
Vsekakor Vas spremljam še naprej in tudi priporočam.
Ravno danes pa sem dobil še odgovor od podjetja. V nadzorni plošči sem spremenil Območne in jezikovne možnosti iz slovenščine v angleščino (UK) in začuda zadeva deluje
Še enkrat hvala.
Vsekakor Vas spremljam še naprej in tudi priporočam.
Re: uvozu podatkov iz csv v excel
Da, deluje; vendar pazite, saj ste s tem spremenili nastavitve celotnih Oken in zatorej vseh programov!
lp,
Matjaž Prtenjak
Administrator
Matjaž Prtenjak
Administrator
Re: uvozu podatkov iz csv v excel
OK. Hvala za opozorilo.