[cstex] import dat z externeho suboru do latexu - csvtools aleboine??
Petr Olsak
petr at olsak.net
Tue Oct 11 15:27:51 CEST 2011
Dobry den,
pokud mate ,,dostatecne male`` csv, pak ho muzete do pameti TeXu nacist
cele a pak vyuzit skutecne nahodny pristup k datum. Nize ukazuji, jak
bych to udelal za pouziti makra scancsv.tex:
---------------------------
\input scancsv
\def\saveall{\colnum = 0
\loop
\advance\colnum by1
\expandafter\xdef\csname u:\the\numline:\the\colnum\endcsname
{\csname e:\csname c:\the\colnum\endcsname\endcsname}%
\ifnum\colnum < \maxcolumn \repeat
}
\let\lineaction=\saveall
\def\u[#1,#2]{\expandafter\ifx \csname u:#1:#2\endcsname \relax
out of range%
\else \csname u:#1:#2\endcsname \fi
}
\scanbase excel.csv
\u[3,3], \u[1,1], \u[4,5], \u[18,12], \u[7,1].
----------------------------
Poznamka: moje ukazka nema s LaTeXem prilis moc spolecneho, ale fungovat
by mozna v nem mohla. Testoval jsem to v plainu.
Dalsi mozne vylepseni: Pomoci \r[3,3], \r[1,1], \r[4,5], \r[18,12],
\r[7,1] pred nactenim csv souboru date najevo, ktere polozky Vas zajimaji,
takze nebudete do pameti TeXu nacitat vsechno:
----------------------------
\def\r[#1,#2]{\expandafter \def\csname r:#1:#2\endcsname{}}
\def\savesome{\colnum = 0
\loop
\advance\colnum by1
{\expandafter \ifx \csname r:\the\numline:\the\colnum\endcsname \relax
\else
\expandafter\xdef\csname u:\the\numline:\the\colnum\endcsname
{\csname e:\csname c:\the\colnum\endcsname\endcsname}\fi}%
\ifnum\colnum < \maxcolumn \repeat
}
\let\lineaction=\savesome
------------------------------
Zdravim
Petr Olsak
On Tue, 11 Oct 2011, peter knezel wrote:
> vdaka za info a za analyzu problemu. Nemal som v plane spracovat mohutne csv
> subory, islo mi teraz cisto o moznost "quasi-random" importu hociktoreho
> [i,j]-teho prvku.
> Predstavte si obycajnu excelovsku tabulku velkosti 10x10. Kazde pole
> obsahuje kvantum textu, napriklad opis dajakeho zariadenia, cize nie je tam
> iba jedno slovo ale povedzme viac viet.
> A teraz nechce sa mi pracne kopirovat tieto prvky do vysledneho pdf
> dokumentu, ale chcem napriklad si zapamatat obsah poli [3,2], [4,3], [4,7],
> [8,6], [8,7] a [10,10] a tie vlozit
> do dokumentu.
> Nejde teraz o spatne vracanie sa do predchadzajucih riadkov.
>
>
> myslite si, ze by som mohol dajako pouzit prikazy csvromnumber a csvlinenum
> z baliku csvtools, ktore by mi umoznili uchovat hodnotu konkretneho pola
> alebo poli a neskorsie by som ich pouzil?
> A to vsetko priamo v zdrojovom latexovom kode xxx.tex?
>
> S pozdravom,
>
> peter knezel
More information about the csTeX
mailing list