[cstex] import dat z externeho suboru do latexu - csvtools aleboine??

Jaroslav Hajtmar hajtmar at gyza.cz
Mon Oct 10 23:16:20 CEST 2011


Dobry vecer.
Je to presne jak popsal pan Wagner...
Kdyz chcete skocit na 5. radek (tj. preskocit radky), tak musite stejne 
nacist ty predchozi 4 radky (a klidne je pritom nezpracovavat tj. napr. 
zahodit jejich obsah...) ...
Jeste horsi je to pri testovani nejakych hodnot, protoze pak musite 
opravdu projit uplne vsechny radky (za predpokladu, ze predem neni 
zdrojovy CSV soubor nejak predem setriden tj. jakoby naindexovan...) ... 
Na druhou stranu musim rici, ze ani pri postupnem nacitani jednotlivych 
radku to zas neni az tak silene pomale, jak by se mohlo zdat..
Navic je potreba si rici na rovinu, ze zpracovat CSV soubor TeXem 
predpoklada, ze chcete neco nejak solidne vysazet, takze clovek nemuze 
apriori predpokladat, ze se TeX bude chovat jako nejaky databazovy 
nastroj. Pokud predem vite, ze ty CSV soubory budou mit napr. nekolik 
tisicu radku a budete chtit delat opakovane radu ruznych sestav a vyberu 
(behem kratkeho okamziku), pak bych se asi opravdu priklanel k tomu, ze 
se TeXovy zdrojak vygeneruje z CSV pomoci Perlu ... V pripade ze se 
jedna o nekolik set radku, tak bych to jako problem nevidel ... Bezne 
zpracovavam ConTeXtem asi 500ti radkova CSV (skolni zakovske a ucitelske 
databaze) a z hlediska rychlosti to na solidnim stroji (mam i5ku 
procesor) je opravdu behem par vterin hotove... (Perlem jsem zpracovaval 
i nekolikatisiciradkove CSV soubory behem opravdu zajimave kratkych casu 
...)

K nejake podrobnejsi analyze by bylo treba znat predem vice informaci. 
Pokud jsem koukal na LaTeXovy nastroj CSVtools, tak mi to pripada na 
prvni pohled jako solidni reseni i kdyz se priznam tak mi tak kvanta 
ruznych voleb atd. pripadaji dost neprehledna (prolistoval jsem si behem 
par minut manual ... ) ...
Kazdopadne bych pro jednodussi praci pouzil makro pana Olsaka .. to 
ovsem zpracuje cely soubor tj. predem by bylo asi CSV nutne "rucne" 
pomoci Excelu ci jineho nastroje pozadovana data setridit ci vyfiltrovat 
... a posleze udelat prohnat pres makro ...

Zdravi J.Hajtmar








Dne 10.10.2011 17:17, peter knezel napsal(a):
> Zdravim pan Wagner,
> vdaka za vysvetlenie. Je mi teraz jasne, ze mozem narazit na problemy 
> pri random vyberani riadkov a stlpcov.
> Na toto som vobec nemyslel. Mal som pred sebou len myslienku nahodneho 
> vyberu [i,j]-tych prvkov, ktore sa zapisu na prislusne miesto v latex 
> dokumente...
>
> prajem pekny podvecer,
>
> peter knezel
>
>
>
> 2011/10/10 Zdenek Wagner <zdenek.wagner at gmail.com 
> <mailto:zdenek.wagner at gmail.com>>
>
>     2011/10/10 peter knezel <peter.knezel at gmail.com
>     <mailto:peter.knezel at gmail.com>>:
>     > Nuz nebol by to velky problem. Hladal som ale taky sofistikovany
>     balik,
>     > ktory to dokaze spravit.
>     > Ide o to, aby clovek nemusel pouzit este extra utilitky.
>     >
>     > Konkretne mi islo o to, ze ak sa mi dostane do ruky tabulka s
>     riadkami a
>     > stlpcami, tak jednoduchym prikazom z neho
>     > vytiahnem hociktory prvok. A ak sa da, tak pomocou dajakeho baliku.
>     >
>     Do CSV souboru v principu neni mozny "random access". Je nutno cist
>     sekvencne. Pokud potrebujete v TeXu zpracovat CSV soubor v jinem
>     poradi, nastava problem. Vratit se muzete pouze tak, ze soubor
>     zavrete, znovu otevrete a ctete od zacatku do prislusneho mista. Pokud
>     budete takto hledat mnoho informaci, bude to zoufale pomale (mozna i
>     na SD disku). Pak je nutno obsah ulozit do chytre pojmenovanych maker,
>     abyste je mohl v TeXu vyuzivat. Pak zalezi na tom, jak je ten CSV
>     velky, jestli se makra vejdou do pameti TeXu. Pokud chcete z velkeho
>     CSV pouzit jenom nekolik informaci v jinem poradi, pak je lepsi
>     prenechat parsovani na externi program. A pokud pro nej potrebujete na
>     zaklade jinych informaci z TeXoveho souboru dodat vstupni informace,
>     pak je lze pomoci \write zapsat do pomocneho souboru a pripadne
>     spustit externi program pomoci \write18 (a nebo si napsat vlastni
>     proceduru v lua).
>
>     > peter
>     >
>     > 2011/10/10 Michal Růžička <xruzick7 at fi.muni.cz
>     <mailto:xruzick7 at fi.muni.cz>>
>     >>
>     >> Zdravím,
>     >>
>     >> a nebylo by jednodušší převést na začátku CSV soubor např. Perl
>     >> skriptem např. do formátu LaTeX balíku keyval a až tu načíst do
>     >> LaTeXového dokumentu? Brání něco přenechání parsovacích prací
>     jinému
>     >> nástroji než přímo TeXu?
>     >>
>     >> S pozdravem
>     >> Michal Růžička
>     >>
>     >> Dne 10.10.2011 16:23, peter knezel napsal(a):
>     >> > Zdravim,
>     >> >
>     >> > A)
>     >> > dakujem vsetkym za pomoc. Vsetky tieto prispevky sa podobaju
>     na balik
>     >> > csvtools, ale zda sa mi, ze som asi nepopisal dost jasne
>     problem, ktory
>     >> > by som chcel vyriesit.
>     >> > Ide totiz o to, ze z daneho xxx.csv suboru by som chcel
>     importovat nie
>     >> > vsetky riadky, ale iba
>     >> > a) z konkretneho riadku bud udaj z jedneho pola alebo zo
>     vsetkych poli
>     >> > b) udaj z hociktoreho pola hociktoreho riadku
>     >> >
>     >> >
>     >> > vstup.csv
>     >> > Meno, Adresa, DatumVstupu, PSC
>     >> > jano, Jiraskova 4, 21-jan-2002, 433 22
>     >> > robo, Nedbalova 42, 3-okt-2005, 433 11
>     >> > erik, Misikova 422, 28-dec-2020, 333 22
>     >> >
>     >> > Vsetky Vase prispevky spracuju cely vstup.csv subor a ja by
>     som chcel
>     >> > mat moznost si vybrat a
>     >> > importovat hociktory prvok:
>     >> >  napr.
>     >> > 3. prvok z 1. riadku ==\insertDatumVstupu[1]=21-jan-2002
>     >> > 2. prvok z 3. riadku ==\insertAdresa[3]=Misikova 422
>     >> > 1. prvok z 3. riadku ==\insertMeno[3]=erik
>     >> >
>     >> >
>     >> > B)
>     >> > Este ma napadlo, ci by sa dalo pouzit dajaky vyhladavaci
>     prikaz podobne
>     >> > sql prikazu, na zaklade ktoreho
>     >> > by sa importovali hodnota (alebo hodnoty).
>     >> >
>     >> > \insertMeno where Meno="robo" #vloz iba meno, ked Meno=""robo"
>     >> >
>     >> > alebo
>     >> >
>     >> > \insert where PSC="*433*" #vloz vsetky riadky, pri ktorych
>     PSC obsahuje
>     >> > string 433
>     >> >
>     >> > peter
>     >> >
>     >> >
>     >> > 2011/10/10 Pavel Striz <striz at fame.utb.cz
>     <mailto:striz at fame.utb.cz> <mailto:striz at fame.utb.cz
>     <mailto:striz at fame.utb.cz>>>
>     >> >
>     >> >     Mj. novejsi a obecnejsi nastroj od Nikoly Talbot se jmenuje
>     >> > datatool.
>     >> >     ps
>     >> >
>     >> >
>     >> >     ----- Puvodní zpráva ----- Od: "peter knezel"
>     >> > <peter.knezel at gmail.com <mailto:peter.knezel at gmail.com>
>     <mailto:peter.knezel at gmail.com <mailto:peter.knezel at gmail.com>>>
>     >> >     Komu: <cstex at cs.felk.cvut.cz
>     <mailto:cstex at cs.felk.cvut.cz> <mailto:cstex at cs.felk.cvut.cz
>     <mailto:cstex at cs.felk.cvut.cz>>>
>     >> >     Odesláno: 10. ríjna 2011 11:39
>     >> >     Predmet: [cstex] import dat z externeho suboru do latexu
>     - csvtools
>     >> >     aleboine??
>     >> >
>     >> >
>     >> >
>     >> >         Zdravim vsetkych,
>     >> >
>     >> >         existuje balik, ktory mi umoznuje import dat z
>     externeho suboru
>     >> >         do latexu?
>     >> >         Rad by som do vopred pripraveneho listu alebo
>     dokumentu na
>     >> >         urcite miesta
>     >> >         importoval obsahy poli.
>     >> >         Pozeral som balik csvtools, ktory ma taketo
>     vlastnosti, ale
>     >> >         nedari sa mi
>     >> >         vytiahnut
>     >> >         z toho iba obsah konkretneho riadku (vid pripad a))
>     alebo udaje
>     >> >         roznych poli
>     >> >         z roznych riadkov (vid pripad b)).
>     >> >
>     >> >         a)
>     >> >         xxxx xxxxx xxxx xxxx \insertAdresa[2]
>     >> >         xxxxxxx \insertDatumVstupu[2] xxxxx xxxxx
>     >> >         xxx \insertMeno[2] xxx xx \insertPSC[2] \insertMeno[2]
>     >> >         xxx xxx xxxxx xxxxxxxxxxxxxx
>     >> >
>     >> >
>     >> >         b)
>     >> >         xxxx xxxxx xxxx xxxx \insertAdresa[3]
>     >> >         xxxxxxx \insertDatumVstupu[3] xxxxx xxxxx
>     >> >         xxx \insertMeno[2] xxx xx \insertPSC[2] \insertMeno[1]
>     >> >         xxx xxx xxxxx xxxxxxxxxxxxxx
>     >> >
>     >> >
>     >> >         vstup.csv
>     >> >         Meno, Adresa, DatumVstupu, PSC
>     >> >         jano, Jiraskova 4, 21-jan-2002, 433 22
>     >> >         robo, Nedbalova 42, 3-okt-2005, 433 11
>     >> >         erik, Misikova 422, 28-dec-2020, 333 22
>     >> >
>     >> >         S pozdravom,
>     >> >
>     >> >         peter knezel
>     >> >
>     >> >
>     >> >
>     >> >
>     >> >
>     ------------------------------__------------------------------__--------------------
>     >> >
>     >> >
>     >> >
>     >> >         _________________________________________________
>     >> >         csTeX mailing list
>     >> > csTeX at cs.felk.cvut.cz <mailto:csTeX at cs.felk.cvut.cz>
>     <mailto:csTeX at cs.felk.cvut.cz <mailto:csTeX at cs.felk.cvut.cz>>
>     >> > http://lists.felk.cvut.cz/__mailman/listinfo/cstex
>     >> > <http://lists.felk.cvut.cz/mailman/listinfo/cstex>
>     >> >
>     >> >
>     >> >     _________________________________________________
>     >> >     csTeX mailing list
>     >> > csTeX at cs.felk.cvut.cz <mailto:csTeX at cs.felk.cvut.cz>
>     <mailto:csTeX at cs.felk.cvut.cz <mailto:csTeX at cs.felk.cvut.cz>>
>     >> > http://lists.felk.cvut.cz/__mailman/listinfo/cstex
>     >> > <http://lists.felk.cvut.cz/mailman/listinfo/cstex>
>     >> >
>     >> >
>     >> >
>     >> >
>     >> > _______________________________________________
>     >> > csTeX mailing list
>     >> > csTeX at cs.felk.cvut.cz <mailto:csTeX at cs.felk.cvut.cz>
>     >> > http://lists.felk.cvut.cz/mailman/listinfo/cstex
>     >>
>     >>
>     >>
>     >> --
>     >> Michal Růžička <xruzick7 at fi.muni.cz <mailto:xruzick7 at fi.muni.cz>>
>     >> OpenPGP key: https://www.fi.muni.cz/~xruzick7/pgp-klic/
>     <https://www.fi.muni.cz/%7Exruzick7/pgp-klic/>
>     >> Fingerprint: 1CB2 41B9 F029 4B47 EECD  9BDA 90C9 CEB0 524C DACB
>     >> _______________________________________________
>     >> csTeX mailing list
>     >> csTeX at cs.felk.cvut.cz <mailto:csTeX at cs.felk.cvut.cz>
>     >> http://lists.felk.cvut.cz/mailman/listinfo/cstex
>     >
>     >
>     > _______________________________________________
>     > csTeX mailing list
>     > csTeX at cs.felk.cvut.cz <mailto:csTeX at cs.felk.cvut.cz>
>     > http://lists.felk.cvut.cz/mailman/listinfo/cstex
>     >
>     >
>
>
>
>     --
>     Zdeněk Wagner
>     http://hroch486.icpf.cas.cz/wagner/
>     http://icebearsoft.euweb.cz
>
>     _______________________________________________
>     csTeX mailing list
>     csTeX at cs.felk.cvut.cz <mailto:csTeX at cs.felk.cvut.cz>
>     http://lists.felk.cvut.cz/mailman/listinfo/cstex
>
>
>
> _______________________________________________
> csTeX mailing list
> csTeX at cs.felk.cvut.cz
> http://lists.felk.cvut.cz/mailman/listinfo/cstex
>    




More information about the csTeX mailing list