von Crys » Do 20. Nov 2014, 12:00
Vielen Dank Elke!
esdd hat geschrieben:Bitte erstelle immer lauffähige Minimalbeispiele. Ich musste den Code erst anpassen, um die im Ausgangsbeispiel angegebene Tabelle tableA.csv verwenden zu können.
Sorry, bei mir funktioniert das Beispiel aber, wie gepostet.
Was für Anpassungen waren nötig?
Bei mir genügt 'omitlines=1', da die erste Zeile nie dargestellt wird und ich mit '1' genau bei der ersten Datenzeile lande. Erzeugt nach dem 'filecontents' aus meinem Start-Post.
Mit 'omitlines=5' lande ich so erst bei der 5ten Datenzeile.
\documentclass{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage{booktabs}
\usepackage{array}
\usepackage{rotating}
\usepackage{varwidth}
\newcommand{\rcell}[1]{\multicolumn{1}{c}{\rotatebox{90}{\begin{varwidth}{5cm}#1\end{varwidth}}}}
\newcommand{\mcell}[1]{\multicolumn{1}{c}{$[$#1$]$}}
\usepackage{datatool}
\DTLsetseparator{;}
\begin{document}
\begin{table}[hbtp!]
\footnotesize
\centering
\DTLloaddb[autokeys,omitlines=5]{CsvTabelle}{tableA.csv}
\edef\spalten{\DTLcolumncount{CsvTabelle}}
\begin{tabular}{*{\spalten}{r}}
\toprule
\rcell{Austritts-\\Geschw.}&
\rcell{Drehzahl} &
\rcell{Breite Ver-\\jüngung} &
\rcell{Verjüngte-\\Fläche} &
\rcell{Verjünguns-\\Faktor} &
\rcell{Druck-\\Verlust} &
\rcell{Leistung\\n. Messung} &
\rcell{Leistung\\inkl. Steig.}\\
\mcell{m/s} &
\mcell{$\frac{1}{min}$} &
\mcell{m} &
\mcell{m$^2$} &
\mcell{-} &
\mcell{Pa} &
\mcell{W} &
\mcell{W}
\DTLforeach*{CsvTabelle}{%
\SpI=Column1,\SpII=Column2,\SpIII=Column3,\SpIV=Column4,\SpV=Column5,\SpVI=Column6,\SpVII=Column7,\SpVIII=Column8,\SpIX=Column9,\SpX=Column10,\SpXI=Column11%,\SpXII=Column12,\SpXIII=Column13,\SpXIV=Column14,\SpXV=Column15%
}{%
\DTLiffirstrow{\\\midrule}{\DTLiflastrow{\\\bottomrule}{\\}}%
\SpI&\SpII&\SpIII&\SpIV&\SpV&\SpVI&\SpVII&\SpVIII%&\SpIX&\SpX&\SpXI%
}
\DTLdeletedb{CsvTabelle}
\end{tabular}
\end{table}
\end{document}
Ich habe das mal so umgesetzt, da ich die Kopfzeile noch zentriert haben möchte.
Du hast mir aber sehr weiter geholfen.
Eine Frage hätte ich noch. Ich muss manchmal eine bestimmt Zeile makieren, bzw. setzte ich eine \midline zur Übersicht darunter. Z.B. wenn die erste Spalte 6 ist.
Ich habe mit '\DTLiseq' herumprobiert, weiß aber nicht ob ich auf dem Holzweg bin? Wie könnte ich das umsetzten?
Vielen Dank Elke!
[quote="esdd"]Bitte erstelle immer lauffähige Minimalbeispiele. Ich musste den Code erst anpassen, um die im Ausgangsbeispiel angegebene Tabelle tableA.csv verwenden zu können.[/quote]Sorry, bei mir funktioniert das Beispiel aber, wie gepostet.
Was für Anpassungen waren nötig?
Bei mir genügt 'omitlines=1', da die erste Zeile nie dargestellt wird und ich mit '1' genau bei der ersten Datenzeile lande. Erzeugt nach dem 'filecontents' aus meinem Start-Post.
Mit 'omitlines=5' lande ich so erst bei der 5ten Datenzeile.
[code]\documentclass{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage{booktabs}
\usepackage{array}
\usepackage{rotating}
\usepackage{varwidth}
\newcommand{\rcell}[1]{\multicolumn{1}{c}{\rotatebox{90}{\begin{varwidth}{5cm}#1\end{varwidth}}}}
\newcommand{\mcell}[1]{\multicolumn{1}{c}{$[$#1$]$}}
\usepackage{datatool}
\DTLsetseparator{;}
\begin{document}
\begin{table}[hbtp!]
\footnotesize
\centering
\DTLloaddb[autokeys,omitlines=5]{CsvTabelle}{tableA.csv}
\edef\spalten{\DTLcolumncount{CsvTabelle}}
\begin{tabular}{*{\spalten}{r}}
\toprule
\rcell{Austritts-\\Geschw.}&
\rcell{Drehzahl} &
\rcell{Breite Ver-\\jüngung} &
\rcell{Verjüngte-\\Fläche} &
\rcell{Verjünguns-\\Faktor} &
\rcell{Druck-\\Verlust} &
\rcell{Leistung\\n. Messung} &
\rcell{Leistung\\inkl. Steig.}\\
\mcell{m/s} &
\mcell{$\frac{1}{min}$} &
\mcell{m} &
\mcell{m$^2$} &
\mcell{-} &
\mcell{Pa} &
\mcell{W} &
\mcell{W}
\DTLforeach*{CsvTabelle}{%
\SpI=Column1,\SpII=Column2,\SpIII=Column3,\SpIV=Column4,\SpV=Column5,\SpVI=Column6,\SpVII=Column7,\SpVIII=Column8,\SpIX=Column9,\SpX=Column10,\SpXI=Column11%,\SpXII=Column12,\SpXIII=Column13,\SpXIV=Column14,\SpXV=Column15%
}{%
\DTLiffirstrow{\\\midrule}{\DTLiflastrow{\\\bottomrule}{\\}}%
\SpI&\SpII&\SpIII&\SpIV&\SpV&\SpVI&\SpVII&\SpVIII%&\SpIX&\SpX&\SpXI%
}
\DTLdeletedb{CsvTabelle}
\end{tabular}
\end{table}
\end{document}[/code]Ich habe das mal so umgesetzt, da ich die Kopfzeile noch zentriert haben möchte.
Du hast mir aber sehr weiter geholfen.
Eine Frage hätte ich noch. Ich muss manchmal eine bestimmt Zeile makieren, bzw. setzte ich eine \midline zur Übersicht darunter. Z.B. wenn die erste Spalte 6 ist.
Ich habe mit '\DTLiseq' herumprobiert, weiß aber nicht ob ich auf dem Holzweg bin? Wie könnte ich das umsetzten?