Forum » Programska oprema » Uvoz txt datoteke v excel
Uvoz txt datoteke v excel

sebavet ::
Imam podatke v txt datoteki, ki bi jih rad uvozil v excel. Podatki so v txt datoteki ločeni s podpičji. V vsako vrstico excelovega delavnega zvezka moram vnesti po 8 celic, nato sledi nova vrstica. Ko bi moral začeti vstavljat podatke v novo vrstico podatki v txt datoteki prehod ni posebej označen.

kloko ::
En način je, da pred uvozom v Excel obdelaš txt datoteko, da namesto vsakega osmega podpičja vstaviš znak za novo vrstico. Npr. primer, ki deluje v bash ukazni vrstici:
Seveda bo problem, če so že v osnovi v tej datoteki kakšni prelomi vrstic, potem se moraš najprej znebiti teh...
L.p., Kloko
sed -e's/\(\([^;]*;\)\{7\}[^;]*\);/\1\n/g' datoteka.txt
Seveda bo problem, če so že v osnovi v tej datoteki kakšni prelomi vrstic, potem se moraš najprej znebiti teh...
L.p., Kloko

vorantz ::
podpičja spremeni v vejice, vsako osmo spremeni v newline in spremeni tip datoteke v .csv

samotest ::
Odvisno koliko je tega.
Lahko uvozis in naredis text delimit ali pa replace z newline in imas vse vrednosti ali v eni vrstici ali stolpcu.
Nato naredis v 8 celic v vrstici formule na originalne vrednosti. Te plus 7 praznih nato kopiras v vsako 8 vrstico. Na koncu izbrises prazne vrstice npr s filtrom.
Ce je vec teksta pa z makrom..
Lahko uvozis in naredis text delimit ali pa replace z newline in imas vse vrednosti ali v eni vrstici ali stolpcu.
Nato naredis v 8 celic v vrstici formule na originalne vrednosti. Te plus 7 praznih nato kopiras v vsako 8 vrstico. Na koncu izbrises prazne vrstice npr s filtrom.
Ce je vec teksta pa z makrom..

vorantz ::
Odvisno koliko je tega.
Lahko uvozis in naredis text delimit ali pa replace z newline in imas vse vrednosti ali v eni vrstici ali stolpcu.
Nato naredis v 8 celic v vrstici formule na originalne vrednosti. Te plus 7 praznih nato kopiras v vsako 8 vrstico. Na koncu izbrises prazne vrstice npr s filtrom.
Ce je vec teksta pa z makrom..
preveč jajcanja...z mojim načinom samo odpreš csv z excelom in save as .xlsx in imaš

SeMiNeSanja ::
In zakaj bi spreminjal podpičje v vejice, če lahko v excelu rečeš, da je tvoj delimiter podpičje ?!?
Ni pa jasno, kaj pomeni OP-u "v txt datoteki prehod ni posebej označen" - so podatki nanizani kot jara kača brez vsakega newline-a? Je tam, kjer bi moral biti pomik v novo vrstico tudi podpičje, ali po možnosti zgolj presledek?
Za pravilen uvoz podatkov bi moral imeti tudi v txt datoteki podatke v vrsticah in ne kot neskončni niz. Lahko skopiraš primer iz txt datoteke?
Ni pa jasno, kaj pomeni OP-u "v txt datoteki prehod ni posebej označen" - so podatki nanizani kot jara kača brez vsakega newline-a? Je tam, kjer bi moral biti pomik v novo vrstico tudi podpičje, ali po možnosti zgolj presledek?
Za pravilen uvoz podatkov bi moral imeti tudi v txt datoteki podatke v vrsticah in ne kot neskončni niz. Lahko skopiraš primer iz txt datoteke?

samotest ::
Odvisno koliko je tega.
Lahko uvozis in naredis text delimit ali pa replace z newline in imas vse vrednosti ali v eni vrstici ali stolpcu.
Nato naredis v 8 celic v vrstici formule na originalne vrednosti. Te plus 7 praznih nato kopiras v vsako 8 vrstico. Na koncu izbrises prazne vrstice npr s filtrom.
Ce je vec teksta pa z makrom..
preveč jajcanja...z mojim načinom samo odpreš csv z excelom in save as .xlsx in imaš
Kot zapisano, ce je tega veliko, ni smiselno vsako 8 podpicje spreminjat v newline v txt datoteki.. Razen ce poznas editor, ki to naredi po vzorcu?
Alternativa je sed za urejanje text datoteke.. Ce ga OP pozna.
Ce hoce vse urediti znotraj Excela, velja moj predlog.

amacar ::
Nekaj takega
Excel: https://www.dropbox.com/s/u44xev0wvwjgm...
Testni fajl: https://www.dropbox.com/s/8fcf8afc8jvdg...
Excel: https://www.dropbox.com/s/u44xev0wvwjgm...
Testni fajl: https://www.dropbox.com/s/8fcf8afc8jvdg...
Sub macro() Dim stevec As Integer Dim prebranFile, polje() As String prebranFile = Application.GetOpenFilename(Title:="Izberi fajl") Open prebranFile For Input As #1 prebranFile = Input$(LOF(1), 1) Close #1 polje = Split(prebranFile, ";") For stevec = LBound(polje) To UBound(polje) Cells(Int(stevec / 8) + 1, stevec Mod 8 + 1) = polje(stevec) Next End Sub

sebavet ::
Ok, da bo stvar malo bolj razjasnjena, datoteka txt je še bolj nestrukturirana kot bi bilo treba, torej zgeda tako:
podatek1;podatek2;;;podatek5;podatek6;podatek7;podatek8
podatek1;;podatek3;
podatek4;;;;podatek8
ali pa:
podatek1;podatek2;podatek3;podatek4;
;podatek6;podatek7;;
V glavnem nobenega reda sploh!!
podatek1;podatek2;;;podatek5;podatek6;podatek7;podatek8
podatek1;;podatek3;
podatek4;;;;podatek8
ali pa:
podatek1;podatek2;podatek3;podatek4;
;podatek6;podatek7;;
V glavnem nobenega reda sploh!!
Zgodovina sprememb…
- spremenil: sebavet ()

SeMiNeSanja ::
S čem za vraga pa kreiraš tako zmedene podatke?
Pri takšni zmešnjavi, ko imaš newline kar v sredini sloga, boš moral kar krepko zavihati rokave, da boš te podatke uredil.
Koliko pa jih je? 100? 1000? 2 miljona?
S spodobnim urejevalnikom, ki obvlada Regexp search&replace se da nekaj pomagati, ampak moraš zadevo najprej obvladati....
So ti podatki export iz nečesa? Se da ta export ponoviti na način, da bo kreiral lepše zloge?
Glede na to, da ti nekatere zloge 'prekine' v sredini in nadaljuje v naslednji vrstici, bi še preveril, če je to zgolj LF ali je notri CR/LF. Morda bi se dalo kaj popraviti, če je zgolj LF...
Pri takšni zmešnjavi, ko imaš newline kar v sredini sloga, boš moral kar krepko zavihati rokave, da boš te podatke uredil.
Koliko pa jih je? 100? 1000? 2 miljona?
S spodobnim urejevalnikom, ki obvlada Regexp search&replace se da nekaj pomagati, ampak moraš zadevo najprej obvladati....
So ti podatki export iz nečesa? Se da ta export ponoviti na način, da bo kreiral lepše zloge?
Glede na to, da ti nekatere zloge 'prekine' v sredini in nadaljuje v naslednji vrstici, bi še preveril, če je to zgolj LF ali je notri CR/LF. Morda bi se dalo kaj popraviti, če je zgolj LF...

sebavet ::
Datoteko sem dobil, moja naloga je da jo spravim v excelove celice po prej opisanem postopku. Na roke je ne morem urejat, ker je podatkov preveč:( do exporta nimam dostopa. Bom verjetno moral napisat kak makro..
Zgodovina sprememb…
- spremenil: sebavet ()

Invictus ::
Ok, da bo stvar malo bolj razjasnjena, datoteka txt je še bolj nestrukturirana kot bi bilo treba, torej zgeda tako:
podatek1;podatek2;;;podatek5;podatek6;podatek7;podatek8
podatek1;;podatek3;
podatek4;;;;podatek8
ali pa:
podatek1;podatek2;podatek3;podatek4;
;podatek6;podatek7;;
V glavnem nobenega reda sploh!!
Tole boš pa težko drugače rešil kot na roke.
Ali pa zgeneriraj pravilen CSV še enkrat.
"Life is hard; it's even harder when you're stupid."
http://goo.gl/2YuS2x
http://goo.gl/2YuS2x

SeMiNeSanja ::
"Na roke" ne pomeni zdaj, da se po celi datoteki sprehajaj in popravljaj vrstico po vrstico.
Uporabiš nek pameten text editor, ki podpira Regexp in 'na roke' napišeš ustrezne search&replace ukaze, da se datoteka 'pošlihta'. Če Regexp ne obvladaš, bo to sicer kar težavna naloga....
CSV je "Comma Separated Values" - se pravi txt datoteka, ki vsebuje podatke, ki so med seboj ločeni z 'vejico', pričemer je vejica lajhko tudi kakšno drugo ločilo, najčešče podpičje, saj se tako izogneš zmešnjavi zaradi vejic v decimalnih številih.
Uporabiš nek pameten text editor, ki podpira Regexp in 'na roke' napišeš ustrezne search&replace ukaze, da se datoteka 'pošlihta'. Če Regexp ne obvladaš, bo to sicer kar težavna naloga....
CSV je "Comma Separated Values" - se pravi txt datoteka, ki vsebuje podatke, ki so med seboj ločeni z 'vejico', pričemer je vejica lajhko tudi kakšno drugo ločilo, najčešče podpičje, saj se tako izogneš zmešnjavi zaradi vejic v decimalnih številih.

nejclp ::
podatek1;podatek2;;;podatek5;podatek6;podatek7;podatek8
podatek1;;podatek3;podatek4;;;;podatek8
Mislm, OK, jaz kle ne vidim zmešnjave,podatek je med dvema dvopičjema, kjer ni podatka sta samo dve dvopičji, brez podatka.
podatek1;;podatek3;podatek4;;;;podatek8
Mislm, OK, jaz kle ne vidim zmešnjave,podatek je med dvema dvopičjema, kjer ni podatka sta samo dve dvopičji, brez podatka.

SeMiNeSanja ::

nejclp ::
SeMiNeSanja je izjavil:
podatek1;podatek2;;;podatek5;podatek6;podatek7;podatek8
podatek1;;podatek3;podatek4;;;;podatek8
Mislm, OK, jaz kle ne vidim zmešnjave,podatek je med dvema dvopičjema, kjer ni podatka sta samo dve dvopičji, brez podatka.
Buffer overflow? Dve vrstici naprej že ne vidiš več?
Ja bemti no, očitno res ne vidim, daj mi pojasni?
podatek1;podatek2;;;podatek5;podatek6;podatek7;podatek8
podatek1;;podatek3;podatek4;;;;podatek8
ali pa: podatek1;podatek2;podatek3;podatek4;;podatek6;podatek7;;
Lepš ne bi moglo bit.
Zgodovina sprememb…
- spremenil: nejclp ()

Invictus ::
podatek1;;podatek3;
podatek4;;;;podatek8
A tole ti nič ne pove?
Data blindness?
podatek4;;;;podatek8
A tole ti nič ne pove?
Data blindness?
"Life is hard; it's even harder when you're stupid."
http://goo.gl/2YuS2x
http://goo.gl/2YuS2x

k--p ::
Nimaš 8 podpičij v vsaki vrstici, drugo jaz ne vidim.
Zgodovina sprememb…
- spremenilo: k--p ()

b3D_950 ::
Podpičja zamenjaš z breakom?
v
podatek1;podatek2;;;podatek5;podatek6;podatek7;podatek8 podatek1;;podatek3;podatek4;;;;podatek8
v
podatek1 podatek2 podatek5 podatek6 podatek7 podatek8 podatek1 podatek3 podatek4 podatek8
Zdaj ko je mir, jemo samo krompir.

nejclp ::
Nimaš 8 podpičij v vsaki vrstici, drugo jaz ne vidim.
To je pomoje bolj typo sebaveta. Tudi če je problem ta, da med podatek8 in podatek1 ni podpičja (označeno mastno),očitno tam je nekaj, odstavek, ročni prelom vrstice, al pa vsaj presledek. se pač da found/replace.
podatek1;podatek2;;;podatek5;podatek6;podatek7;podatek8
podatek1;;podatek3;podatek4;;;;podatek8

amacar ::
Vsak newline s ; zamenjas, potem uporabis mojo kodo, ampak ne izpisujes praznih elementov.
Ko pridem na komp lahko popravim mojo kodo.
Ko pridem na komp lahko popravim mojo kodo.

samotest ::
V editorju npr Notepad++
- izbriši vse newline (Replace, Search mode extended, Find "\n", Replace )
- nato naredi replace podpičij z newline-i
Prenesi v Excel v stolpec A.
Izbriši prazne vrstice (http://www.exceltrick.com/how_to/delete...
- vneseš b1=a2, c1=a3, .. i1=a8
- označiš celice b1..i8 in s potegom na črn kvadratek spodaj desno povlečeš do konca vrednosti oz. do konca tabele dol
- ponoviš izbris praznih vrstic na glede na prazne vrednosti v stolpcu B
over&out
- izbriši vse newline (Replace, Search mode extended, Find "\n", Replace )
- nato naredi replace podpičij z newline-i
Prenesi v Excel v stolpec A.
Izbriši prazne vrstice (http://www.exceltrick.com/how_to/delete...
- vneseš b1=a2, c1=a3, .. i1=a8
- označiš celice b1..i8 in s potegom na črn kvadratek spodaj desno povlečeš do konca vrednosti oz. do konca tabele dol
- ponoviš izbris praznih vrstic na glede na prazne vrednosti v stolpcu B
over&out

111111111111 ::
Mater, Shamo me je prehitel.
+1 k njegovem odgovoru. Samo v Notepad++ preveri ali je CRLF ali CR, predno narediš replace.
+1 k njegovem odgovoru. Samo v Notepad++ preveri ali je CRLF ali CR, predno narediš replace.

amacar ::
S temle macrom bi šlo
excel: https://www.dropbox.com/s/u44xev0wvwjgm...
vhod.txt: https://www.dropbox.com/s/8fcf8afc8jvdg...
excel: https://www.dropbox.com/s/u44xev0wvwjgm...
vhod.txt: https://www.dropbox.com/s/8fcf8afc8jvdg...
Sub macro() Dim stevec, vnesiV As Integer Dim prebranFile, polje() As String prebranFile = Application.GetOpenFilename(Title:="Izberi fajl") Open prebranFile For Input As #1 prebranFile = Input$(LOF(1), 1) Close #1 prebranFile = Replace(prebranFile, Chr(10), ";") prebranFile = Replace(prebranFile, Chr(13), ";") polje = Split(prebranFile, ";") vnesiV = 0 For stevec = 0 To UBound(polje) If Len(polje(stevec)) > 0 Then Cells(Int(vnesiV / 8) + 1, vnesiV Mod 8 + 1) = polje(stevec) vnesiV = vnesiV + 1 End If Next End Sub
Zgodovina sprememb…
- spremenil: amacar ()
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | [javascript] XML problemOddelek: Programiranje | 2773 (2613) | Kocka |
» | Popravek pravilOddelek: Novice / Obvestila | 9661 (7806) | Mesko89 |
» | C++(bin file) vprašanjeOddelek: Programiranje | 1539 (1417) | technolog |
» | Procentualna tabela s fiksno glavoOddelek: Programiranje | 1911 (1795) | alen1 |
» | PHP - Register formOddelek: Izdelava spletišč | 2016 (1644) | roli |