sverweis umsetzen

Tabellen und Grafiken erstellen und anordnen


sr
Forum-Newbie
Forum-Newbie
Beiträge: 8
Registriert: Fr 1. Feb 2013, 17:40

Beitrag von sr »

Dies möchte ich machen und zwar möglichst ohne externes Script. Nur das die Ergebnisse natürlich nicht in einer Exceltabellesondern im LaTEX-Dokument ersetzt/angezeigt werden sollen.

http://excelwelt.de/excelallg/sverw.html

Eine Textmarke hinter einem gekennzeichneten Begriff soll mit der Information aus der 2. Spalte einer csv-Datei ersetzt werden.

bzgl. "datatool": was ich bisher gelesen habe, wir datatool zur manipulation von einer, wie auch immer gearteten, Datenbank benutzt. Ich will nicht manipulieren, sondern Daten auslesen und in ein LaTEX-Dokument einsetzen, anhand eines im Text vorhandenen Schlüssels.
"Rain is paddlers sunshine!"

Besserwisser

Beitrag von Besserwisser »

Was hast Du denn über datatool gelesen? Bereits in Kapitel 1 der datatool-Anwenderanleitung heißt es:
[quote]The datatool package can be used to:
  • Create or load databases.
  • Sort rows of database …
  • Perform repetitive operations on each row of a database[/liat]{quote] Das erste und letzte ist das, was Du möchtest, zum einen eine Datenbank laden, zum anderen Operationen auf den Zeilen der Datenbank ausführen. So könnte man beispielsweise für jede Zeile eine Makro (=Textmarke) definieren, dessen Name aus der ersten Spalte und dessen Wert aus der zweiten generiert wird (hier wäre eine der foreach-Anweisungen von datatool nützlich). Oder man sucht gezielt nach einem Wert und verwendet dasselbe Makro immer wieder:
    % In diesem Beispiel wird zunächst eine csv-Datei erzeugt.
    % Das funktioniert so nur, wenn diese Datei noch nicht existiert!!!
    \begin{filecontents*}{\jobname.csv}
    id,artnum
    70.61.8.400.000,47110000
    70.61.8.400.001,08150000
    \end{filecontents*}
    
    \documentclass{article}
    \usepackage[utf8]{inputenc}
    \usepackage[ngerman]{babel}
    \usepackage[T1]{fontenc}
    \usepackage{lmodern}
    
    \usepackage{datatool}
    \DTLloaddb{artnums}{\jobname.csv}% Datenbank einlesen.
    
    \begin{document}
    
    \DTLgetvalueforkey{\kdartnum}{artnum}{artnums}{id}{70.61.8.400.001}% Wert suchen!
    Die Artikelnummer für id=70.61.8.400.001 lauter \kdartnum.
    
    \DTLgetvalueforkey{\kdartnum}{artnum}{artnums}{id}{70.61.8.400.000}% Wert suchen!
    Die Artikelnummer für id=70.61.8.400.000 lautet \kdartnum.
    
    \end{document}

Besserwisser

Beitrag von Besserwisser »

Besserwisser hat geschrieben:The datatool package can be used to:
  • Create or load databases.
  • Sort rows of database …
  • Perform repetitive operations on each row of a database
:oops: vertippt:
The datatool package can be used to:
  • Create or load databases.
  • Sort rows of database …
  • Perform repetitive operations on each row of a database
[/list]

Antworten