Fórum pro uživatele kancelářského balíku OpenOffice | LibreOffice
 

#1 17. 7. 2015 12:25:22

MilanUhrak
Člen
Registrace: 1. 11. 2005
Příspěvků: 27

import CSV a oddělovače textu - VYŘEŠENO

Zdravím,
Hledal jsem řešení na gůglu, tady i tam smile ale bez úspěchu.

Vytvářím CSV soubor,
(takže můžu použít jakoukoliv variantu formátování)

a protože jeden údaj má více řádků
(údaj obsahuje "CR"
  (nebo LF nebo CRLF - důležité je, aby calc v buňce odřádkoval )
)
obaluji údaje uvozovkami _"_ nebo _'_

Vytvořený soubor bych rád otevřel v Calcu, ale potýkám se s nějakým bugem asi.

při volbě importu musím zvolit "oddělovač textu", jinak Calc nechápe odřádkování v údaji (to je správně, jinak by v tom byl pěkný maglajz).

Co už je ale podivné, že uvozovky z importovaných sloupců udstraní jen u prvního sloupce, u ostatních je ponechá.  Všechny sloupce obsahují pouze text, ale toto chování je podivné.

Dělám něco špatně nebo se Calc chová stejně i u vás ?

Mám verzi 4.0.1 na openSUse

přikládám nemocný CSV .. je to - očištěna od osobních udajů -"databáze" zálohy emailů, ale to není podstatné, co to je ..

aha, tak nepřiložím, jsem myslel, že se tady dají vkládat přílohy

'Soubor'      'Datum'      'OD'      'Předmět'      'KOMU'
'./User@server.unas/new/1437026514.M172940P28838.unas,S=115078,W=117171'      'Thu, 16 Jul 2015 08:02:07 +0200'      'M.. K..<kj@server.unas>'      'Fwd:Usmála se na Vás ráno prodavačka?'      'Š.. J..<sj@server.unas>
H.. J..<User@server.unas>
B.. P..<ph@server.unas>
....'
'./User@server.unas/new/1437035399.M734387P3349.unas,S=113164,W=114731'      'Thu, 16 Jul 2015 10:29:58 +0200'      'J.. K..<kj@server.unas>'      'Zápis z kontrolního dne z 03.07.2015'      'S.. K..<ks@server.unas>
K.. L..<kondrat.ladislav@server.unas>
B.. P..<ph@seznam.cz>
....'
'./User@server.unas/cur/1437026514.M172940P28838.unas,S=115078,W=117171:2,S'      'Thu, 16 Jul 2015 08:02:07 +0200'      'M.. K..<km@server.unas>'      'Fwd:Usmála se na Vás ráno prodavačka?'      'Š.. J..<sj@server.unas>
H.. J..<User@server.unas>
B.. P..<ph@server.unas>
....'
'./User@server.unas/cur/1437035399.M734387P3349.unas,S=113164,W=114731:2,'      'Thu, 16 Jul 2015 10:29:58 +0200'      'J.. K..<kj@server.unas>'      'Zápis z kontrolního dne z 03.07.2015'      'S.. K..<ks@server.unas>
K.. L..<kl@server.unas>
B.. P..<ph@seznam.cz>
....'

tak aspoň takto

jak říkám, můžu to libovolně naformátovat, (ať už konce řádků, oddělovače i zalomení v tom víceřádkovém údaji)  ale žádná kombinace nefunguje úplně správně.  Jinak samozřejmě po načtení do Calcu můžu dát hůedat/Nahradit a za 5 vteřin vymalováno, ale jde o princip.

Editoval MilanUhrak (21. 7. 2015 06:54:58)

Offline

#2 17. 7. 2015 14:56:41

neutr
Člen
Registrace: 8. 3. 2007
Příspěvků: 2,526

Re: import CSV a oddělovače textu - VYŘEŠENO

Nějak mi uniká zda chcete do CSV dostat vše jako 1 řádek a jednotlivé položky do samostatných buněk (stejného řádku), nebo jestli to chcete skutečně "odřádkovat".
     Abychom si rozuměli. Zatím to vypadá, že chcete v buňce Calcu zalomit text. Toto potom zřejmě "fedrovat" do obsahu emailů kde se to má objevit v té podobě jak interpretujete (4 řádky). To mi připadá poměrně logické. Ovšem nevím jestli jsem to pochopil správně - cituji :
----------------------------------------------------------------------
Vytvářím CSV soubor,
(takže můžu použít jakoukoliv variantu formátování)
a protože jeden údaj má více řádků (údaj obsahuje "CR" (nebo LF nebo CRLF - důležité je, aby calc v buňce odřádkoval ))
obaluji údaje uvozovkami _"_ nebo _'_
Vytvořený soubor bych rád otevřel v Calcu, ale potýkám se s nějakým bugem asi.

----------------------------------------------------------------------
     Není mi pak jasné proč to znovu načítáte do Calcu. Nebo to tvoříte ve Writeru? nebo to máte z nějakých šablon pro emaily?


     Běžná praxe je, že se to udělá vše v Calcu a do emailu se to cpe jako text (prostý, nebo html..).
     Opačný proces může mít problém v tom, že email sám zalamuje jinak nežli to píšete. Když ho ale načtete tak máte na výběr importu (prostý text, html, rtf..). Ale tenhle případ asi neřešíte takže to prosím lépe popište.
     Konkrétně kde to děláte a proč - a samo sebou co pak s tím dudete dělat. Chápu že to asi bude nějaký report ale nevím odkud a kam.


     Jinak je běžnou praxí spojovat text s CHAR(9),CHAR(10),CHAR(13). "9" je odstavec, "10" nový řádek a "13" paragraf (také nový řádek). Takže například text z buněk A1, B1 spojíte do C1 tak aby se zalomily (nový řádek) =A1 & CHAR(10) & B1.
     Ovšem opticky v Calcu funguje jen právě Char(10). V opačném postupu musíme také takto hledat. Ovšem nevím co opravdu potřebujete. Upřesněte prosím. Omlouvám se.


Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte tak orientaci na fóru při vyhledávání řešení problémů
JAK OZNAČIT TÉMA ZA VYŘEŠENÉ

Offline

#3 18. 7. 2015 15:54:31

poky
Člen
Registrace: 23. 9. 2005
Příspěvků: 69

Re: import CSV a oddělovače textu - VYŘEŠENO

LibreOffice 4.4.3.2 Calc v Debian Sqeeze otevře výše uvedený soubor bez přidaných uvozovek.

Offline

#4 18. 7. 2015 17:52:20

neutr
Člen
Registrace: 8. 3. 2007
Příspěvků: 2,526

Re: import CSV a oddělovače textu - VYŘEŠENO

Pro poky:
     Takto okopírované by to mělo jít každému. Já tome ale rozumím tak, že originál je v jednom řádku a má se načíst buď do buněk vedle sebe :
'Soubor'      'Datum'      'OD'      'Předmět'      'KOMU'
     nebo naopak pod sebe :
'Soubor'     
'Datum'     
'OD'     
'Předmět'     
'KOMU'
     Záhadou je proto jak vypadá zdroj po napsání a jak má vypadat po znovunačtení - respektive cílový dokument po vykopírování? V čem se to píše a do čeho se to načítá?


Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte tak orientaci na fóru při vyhledávání řešení problémů
JAK OZNAČIT TÉMA ZA VYŘEŠENÉ

Offline

#5 20. 7. 2015 05:44:22

MilanUhrak
Člen
Registrace: 1. 11. 2005
Příspěvků: 27

Re: import CSV a oddělovače textu - VYŘEŠENO

neutr napsal(a)

Pro poky:
     Takto okopírované by to mělo jít každému. Já tome ale rozumím tak, že originál je v jednom řádku a má se načíst buď do buněk vedle sebe :
'Soubor'      'Datum'      'OD'      'Předmět'      'KOMU'
     nebo naopak pod sebe :
'Soubor'     
'Datum'     
'OD'     
'Předmět'     
'KOMU'
     Záhadou je proto jak vypadá zdroj po napsání a jak má vypadat po znovunačtení - respektive cílový dokument po vykopírování? V čem se to píše a do čeho se to načítá?


Jak to říct ... Nehul tolik . Zkus to otevřít v calcu a pochopíš hned, pokud to nechápeš z mého dotazu.

Offline

#6 20. 7. 2015 05:50:29

MilanUhrak
Člen
Registrace: 1. 11. 2005
Příspěvků: 27

Re: import CSV a oddělovače textu - VYŘEŠENO

poky napsal(a)

LibreOffice 4.4.3.2 Calc v Debian Sqeeze otevře výše uvedený soubor bez přidaných uvozovek.

Děkuji za vyzkoušení.

Opravdu se zdá, (toto není jediný případ ) že některé subverze OOO / LOO na sebe nabalují nečekané "vlastnosti" ...  Je to škoda, protože zejména v calcu je pak obtížné něco vytvářet. Vzorce se pak v jiné vezzi / (a dokonce) platformě chovají maličko odlišně.

Offline

#7 20. 7. 2015 10:15:18

neutr
Člen
Registrace: 8. 3. 2007
Příspěvků: 2,526

Re: import CSV a oddělovače textu - VYŘEŠENO

Jak to napsat? - asi takto :
Hledal jsem řešení na gůglu, tady i tam smile ale bez úspěchu.
Vytvářím CSV soubor,
(takže můžu použít jakoukoliv variantu formátování)

a protože jeden údaj má více řádků
(údaj obsahuje "CR"
  (nebo LF nebo CRLF - důležité je, aby calc v buňce odřádkoval )
)
obaluji údaje uvozovkami _"_ nebo _'_

Vytvořený soubor bych rád otevřel v Calcu, ale potýkám se s nějakým bugem asi.

při volbě importu musím zvolit "oddělovač textu", jinak Calc nechápe odřádkování v údaji (to je správně, jinak by v tom byl pěkný maglajz).

Co už je ale podivné, že uvozovky z importovaných sloupců udstraní jen u prvního sloupce, u ostatních je ponechá.  Všechny sloupce obsahují pouze text, ale toto chování je podivné.

Dělám něco špatně nebo se Calc chová stejně i u vás ?

Mám verzi 4.0.1 na openSUse

přikládám nemocný CSV .. je to - očištěna od osobních udajů -"databáze" zálohy emailů, ale to není podstatné, co to je ..

aha, tak nepřiložím, jsem myslel, že se tady dají vkládat přílohy
----------------------------------------------------------------------------
Modrý text popisuje skutečnost, že vytváříte csv soubor a je to soupis emailů.
Zelený text už popisuje co potřebujete aby hotový text udělal a jak se projevují Vaše pokusy.
Tučný text je vlastní dotaz.
----------------------------------------------------------------------------
     Jde o modus operandi: Někde něco píšu - kde - ani náznak, jen to že obsahem jsou texty emailů. Stejně dobře to může být zdroj pro odeslání nových emailů jako naopak soupis již načtených (dříve obdržených) emailů. Může to být také třeba report z portálu - respektive jeho připravovaná podoba kterou bude generovat scriptem stránka pro uživatele.
     Takže zdrojem může být jakýkoliv editor, nebo script. Já jsem to zjednodušil na Textový editor, nebo Calc. Z vašeho popisu je jen nepřímo dané, že zdroj CSV není tím Calcem, který to má načíst - ale i to je z principu možné kvůli otestování.
----------------------------------------------------------------------------
     Zelený text je celkem bez nejasností. Je to problém konmfigurace importního filtru, který by měl zdrojový text nasekat podle Vašich představ. Zde by bylo na místě se zeptat, zda jste vyzkoušel všechny kombinace včetně sloučení separátorů a uvozovek pro text. To mi připadalo nevhodné, protože jste podle všeho dlouholetým uživatelem a tyhle věci asi víte.
----------------------------------------------------------------------------
     nejasnosti jsou ale v té poslední - tučné, respektive červené části. Vy nevíte jak sem postnout vzor? p)Prvním příspěvkem na každém tématu to je - a pokud to nefunguje, řeší se to pomocí 'uložto.cz', 'leteckápošta.cz', nebo třeba 'BOXu' a DROPBOXu'. Umí to i zcela noví uživatelé a Vy ne?
----------------------------------------------------------------------------
     Takže potom následuje Váš vykopírovaný vzor - ale to je paskvil :
??? Tohle je požadovaný vstup nebo výstup???-------------------
'Soubor'      'Datum'     'OD'      'Předmět'      'KOMU'
----------------------------a tohle je co???
'./User@server.unas/new/1437026514.M172940P28838.unas,S=115078,W=117171'      'Thu, 16 Jul 2015 08:02:07 +0200'      'M.. K..<kj@server.unas>'      'Fwd:Usmála se na Vás ráno prodavačka?'      'Š.. J..<sj@server.unas>
----------------------------a tohle je zase co???
H.. J..<User@server.unas>
B.. P..<ph@server.unas>
....'
--------------------------------------------------------------------
     Když už to neumíte poslat tak jste to měl lépe popsat :
A - Takhle vypadá vstup (to ce někde nějak píšete).............Abcd..
B - Takhle by to mělo vypadat po znovunačtení....."atrd"
C - Takhle to dopadlo.............""
--------------------------------------------------------------------
     Samozřejmě já se ptám na věci, které často ani sami tazatelé nevědí, respektive nevědí proč se ptám na takové věci.


To ale neznamená, že bych byl zhulenej - a psal nesmysly.


V podstatě jen to, že jste člen tohoto fóra od roku 2005 mi brání v tom abych Vám neodpověděl zcela jiným stylem a tónem. K tomu Vám dám ještě spíš přátelskou radu jako mou osobní zkušenost :


Kdysi - je to pár let - tady někdo podobným způsobem atakoval ing Pastierika. Ten mu odpověděl ať si nechá familiernosti od cesty, "protože spolu sme husy nepásli" že tady je slušné fórum a mělo by se vykat kvůli udržení dobré úrovně. Držím se toho ačkoliv jsem původně také tykal jak je zvykem všude jinde.


Víte myslím si že to mohu požadovat od každého a tím pádem i od Vás. 60 mi už dávno bylo a přes to když bychom se setkali face to face tak by Vás arogantní způsoby komunikace ani nenapadly. Já sám sice občas někoho nepěkně počastuji, ale je to třeba holka která se ptá doslova jenom na "proč Libre Office a ne Word?". Ale to si dovolím jenom když jde skutečně o provokaci.


     Jinak musím opravdu konstatovat, že je podstatné kde se to má napsat a hlavně jak to má vypadat po napsání (tvar 1 emailu ve zdroji) a jak má vypadat výstup v Calcu.
     Já jsem si to skutečně do Calcu vykopíroval a bylo to shodné s tím jak to vypadá ve Vašem prvním příspěvku.
     Konstatování, že by to mohl být "bug" je samozřejmě možnost, ale to neřeší podstatu potřeby udělat vhodný (správný) tvar zápisu do zdroje. Totiž ta zalomení je možné řešit vsunutím dříve uvedených CHarů do míst kde se to má zalomit (tyto chary jsou CR, LF ap). K jejich aktivaci dojde právě až po načtení do Calcu. To se musí správně zapsat ve zdroji.
     Takže to je důvod proč jsem se ptal co je zdroj a kde se to píše. To opravdu není z Vašeho příspěvku dost zřejmé.


Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte tak orientaci na fóru při vyhledávání řešení problémů
JAK OZNAČIT TÉMA ZA VYŘEŠENÉ

Offline

#8 21. 7. 2015 06:03:15

MilanUhrak
Člen
Registrace: 1. 11. 2005
Příspěvků: 27

Re: import CSV a oddělovače textu - VYŘEŠENO

děkuji všem za snahu, problém byl na dvou místech :

program, který vytvářel CSV soubor vkládal mezi údaje a oddělovač <TAB> mezeru, což  by samo o sobě nebyl problém, kdybych při importu do Calcu zvolil "Odděleno pomocí"  "Tabelítor" i "Mezera" a "Sloučit oddělovače" ...

Jednoduše tedy dvojnásobný error mezi židlí a klávesnicí ..

Tak pro poučení budoucím generacím smile

Offline

#9 21. 7. 2015 06:46:25

MilanUhrak
Člen
Registrace: 1. 11. 2005
Příspěvků: 27

Re: import CSV a oddělovače textu - VYŘEŠENO

@ neutr ...

Vytvářím CSV soubor,
(takže můžu použít jakoukoliv ....

Prostě ho vytvářím nějakým programem ... proto můžu CSV jakkoliv "ohnout" vyřeší-li to problém, na který se tážu 

a protože jeden údaj má více řádků ....
údaj je položka věty, ok ?  A potřebuju v jednom údaji zalomit řádek :
důležité je, aby calc v buňce odřádkoval


Vytvořený soubor bych rád otevřel v Calcu,

a pak, po vytvoření, předpokládám, že ho "někdy" budu potřebovat otevřít. Když už ho mám otevřít, tak aby vše fungovalo. Např. řazení..


soubor se mi nepovedlo přímo přiložít, ale jelikož jde o prostý text, tak jsem ho do dotazu (pár řádků) vložil přímo... v čem je problém ?

Co už je ale podivné, že uvozovky z importovaných sloupců udstraní jen u prvního sloupce, u ostatních je ponechá. 
Calc při importu prostě ponechával oddělovače textu a údaje tak po importu zůstávají v buňce "obaleny" uvozovkami. 


Vaše spekulace vycházely - řekl bych  - z nepochopení dotazu a naprosto se netýkali podstaty dotazu.

Otázky co se s tím souborem má dít, kam to budu fedrovat a podobně jsou vedlejší, ( pro vaši orientaci - nebudu to fedrovat jinam, než na archivační médium)

Opravdu jsem ale svou odpovědí ustřelil.




Problém je již vyřešen, viz můj příspěvek výše

Offline

#10 21. 7. 2015 07:29:22

neutr
Člen
Registrace: 8. 3. 2007
Příspěvků: 2,526

Re: import CSV a oddělovače textu - VYŘEŠENO

Já celkem vím, že zdrojem je nějaký script (nejspíš javascript) a že výstupem je jeden řádek (podoba reportu - co email to řádek v reportu).
     Tento report Vy chcete načíst v Calcu jako je to v původní emailové podobě. Tedy z každého řádku reportu chcete oddělit jednotlivé položky - adresy, předmět ap.
     V podstatě jsou 2 cesty. Buď to uděláte už přímo ve zdroji (odřádkování v reportu), nebo až v sešitě kde se otevírá report sekundárně.
     I v této fázi existují 2 varianty. Když se to ukládá do klasické databáze, tak je vše v jednom řádku, respektive pod unikátním klíčem. Takže co parametr to jiná buňka relativního stejného řádku. (Jistě víte o čem mluvím zabýval jste se databázemi a znáte rozdíl mezi klasickou tabulkou a relační databází).
     Tou druhou možností je právě odřádkování z původního jednoho řádku. To je zase v podstatě typizované jako náhled. (Na email v databázi - podobně v Calcu, který může být ragistrován jako databáze).


    Z tohoto pohledu to bylo nejasné. Když se nad tím zamyslíte, tak nebylo zřejmé co je zdroj a co kýžený výsledek. Byl to skutečně špatně popsaný problém.
    Nyní už víte, že to bylo chbným nastavením separátorů. Doufám že jsem Vám tou poznámkou pomohl. Pokusím se ještě jednou o něco podobného. Když se zamyslíte nad tím proč LO (AOO) identifikuje část textu s oddělovači, tak by Vás mělo napdnout že to souvisí s paragrafem, respektive odstavcem. Když se jedná o jeden (stejný) odstavec tak se zřejmě text skutečně chová podle předpokladu. Ovšem zřejmě jen do okamžitk nežli se objeví odstavec, nebo paragraf. Jiným řešením by mohlo být označení celého emailu jako text - jedny uvozovky. To se ale musí otestovat nevím to jistě.
    Moje rada zní - v jednom emailu žádné jiné znaky nežli odřádkování (CHAR(10). Na konci emailu už může být odřádkování + odstavec + paragraf. (paragrafy se vyhledávají, takže počet paragrafů = počet emailů.
    Jedná se o text a tam se to chová trochu jinak nežli bychom čekali podle Calcu. Tohle by věděl právě například ing. Pastierik. Já sice dělám nyní hodně do textu, ale v kramflekách si moc jistý nejsem.


    Celkem shrnuto : Nesprávné přiřazení oddělovačů (sloučení a určení separátorů, separátorů textu).
    Jinak řečeno :
    Nesprávné navržení kódu zdroje vzhledem k požadavkům na výstup. To spolu s neznalostí manipulace s CSV = chyby programátora, a ne chyby kancelářského balíku.
    To je odpověď na tu Vaši otázku jestli děláte něco špatně - stačí takto? Možná se dá pochopit proč jsem se zabýval zdrojem CSV a ne tím jestli má balík AOO (LO) chybu.


Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte tak orientaci na fóru při vyhledávání řešení problémů
JAK OZNAČIT TÉMA ZA VYŘEŠENÉ

Offline

#11 24. 7. 2015 17:47:04

poky
Člen
Registrace: 23. 9. 2005
Příspěvků: 69

Re: import CSV a oddělovače textu - VYŘEŠENO

Tak už to bývá, problém se náhle vyřeší v okamžiku, kdy ho dotyčný napíše do fóra.
Mnohokrát osobně odzkoušeno.
Důležité je, že se nakonec našlo řešení, ať už jakékoliv, a vytoužený déšť začíná chladit rozpálená čela diskutérů...
Hezký den. smile

Offline

Zápatí