von esdd » Fr 20. Nov 2015, 10:13
Dir sollte eigentlich klar sein, dass der Code immer noch bei keinem anderen läuft - mangels der csv Dateien.
Irgendwie scheint es Probleme mit den Leerzeichen als Spaltentrenner zu geben. Bei mir werden mit diesem Spaltentrenner die ersten beiden Spalten der csv Dateien als eine gemeinsame Spalte aufgefasst, weshalb dann die letzte fehlt.
Folgendes, also mit ; als Spaltentrenner, funktioniert bei mir dagegen:
\begin{filecontents*}{einetabelle.csv}
1;2;3;4;5;6;7;8;9;10;11
\end{filecontents*}
\begin{filecontents*}{anderetabelle.csv}
a;b;c;d;e;f;g;h;i;j;k
\end{filecontents*}
\documentclass{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage{datatool} %Daten aus CSV lesen
\usepackage{tabularx}
\usepackage{pdflscape}
\DTLnewdbonloadfalse
\DTLsetseparator{;} %Trennzeichen zwischen Werten in den CSV Dateien
\begin{document}
\begin{landscape}
\DTLnewdb{tabelle}
\DTLloaddb[noheader]{tabelle}{einetabelle.csv}
\DTLloaddb[noheader]{tabelle}{anderetabelle.csv}
\noindent
\begin{table}
\tiny
\centering
\caption{Überschrift}
\begin{tabularx}{1.3\textheight}{l X X X X X X X X X X}
\shortstack{$Testschritt$\\ \null}&\shortstack{$U_{mean}$\\$in~V$}&\shortstack{$I_{mean}$\\$in~A$}&\shortstack{$I_{Block}$\\$in~A$}&\shortstack{$M_{mean_{U1}}$\\$in~Nm$}&\shortstack{$M_{mean_{U2}}$\\$in~Nm$}&\shortstack{$M_{mean_{U3}}$\\$in~Nm$}&\shortstack{$M_{Block}$\\$in~Nm$}&\shortstack{$M_{\Delta_{max_{U1}}}$\\$in~Nm$}&\shortstack{$M_{\Delta_{max_{U2}}}$\\$in~Nm$}&\shortstack{$M_{\Delta_{max_{U3}}}$\\$in~Nm$}
\tabularnewline
\hline
\DTLforeach{tabelle}{\sI=Column1,\sII=Column2,\sIII=Column3,\sIV=Column4,\sV=Column5,\sVI=Column6,\sVII=Column7,\sVIII=Column8,\sIX=Column9,\sX=Column10,\sXI=Column11}{%
\sI&\sII&\sIII&\sIV&\sV&\sVI&\sVII&\sVIII&\sIX&\sX&\sXI%
\DTLiflastrow{}{\tabularnewline}%
}
\end{tabularx}
\end{table}
\end{landscape}
\end{document}
Dir sollte eigentlich klar sein, dass der Code immer noch bei keinem anderen läuft - mangels der csv Dateien.
Irgendwie scheint es Probleme mit den Leerzeichen als Spaltentrenner zu geben. Bei mir werden mit diesem Spaltentrenner die ersten beiden Spalten der csv Dateien als eine gemeinsame Spalte aufgefasst, weshalb dann die letzte fehlt.
Folgendes, also mit [tt];[/tt] als Spaltentrenner, funktioniert bei mir dagegen:
[code]\begin{filecontents*}{einetabelle.csv}
1;2;3;4;5;6;7;8;9;10;11
\end{filecontents*}
\begin{filecontents*}{anderetabelle.csv}
a;b;c;d;e;f;g;h;i;j;k
\end{filecontents*}
\documentclass{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage{datatool} %Daten aus CSV lesen
\usepackage{tabularx}
\usepackage{pdflscape}
\DTLnewdbonloadfalse
\DTLsetseparator{;} %Trennzeichen zwischen Werten in den CSV Dateien
\begin{document}
\begin{landscape}
\DTLnewdb{tabelle}
\DTLloaddb[noheader]{tabelle}{einetabelle.csv}
\DTLloaddb[noheader]{tabelle}{anderetabelle.csv}
\noindent
\begin{table}
\tiny
\centering
\caption{Überschrift}
\begin{tabularx}{1.3\textheight}{l X X X X X X X X X X}
\shortstack{$Testschritt$\\ \null}&\shortstack{$U_{mean}$\\$in~V$}&\shortstack{$I_{mean}$\\$in~A$}&\shortstack{$I_{Block}$\\$in~A$}&\shortstack{$M_{mean_{U1}}$\\$in~Nm$}&\shortstack{$M_{mean_{U2}}$\\$in~Nm$}&\shortstack{$M_{mean_{U3}}$\\$in~Nm$}&\shortstack{$M_{Block}$\\$in~Nm$}&\shortstack{$M_{\Delta_{max_{U1}}}$\\$in~Nm$}&\shortstack{$M_{\Delta_{max_{U2}}}$\\$in~Nm$}&\shortstack{$M_{\Delta_{max_{U3}}}$\\$in~Nm$}
\tabularnewline
\hline
\DTLforeach{tabelle}{\sI=Column1,\sII=Column2,\sIII=Column3,\sIV=Column4,\sV=Column5,\sVI=Column6,\sVII=Column7,\sVIII=Column8,\sIX=Column9,\sX=Column10,\sXI=Column11}{%
\sI&\sII&\sIII&\sIV&\sV&\sVI&\sVII&\sVIII&\sIX&\sX&\sXI%
\DTLiflastrow{}{\tabularnewline}%
}
\end{tabularx}
\end{table}
\end{landscape}
\end{document} [/code]