ich habe zwei separate Tabellen mit der gleichen Anzahl von Zeilen und Beschriftungen wie folgt:
eins:
a 12
b 32
c 18
zwei:
a 45
b 98
c 300
Wie kann ich diese beiden Tabellen zu einer kombinieren? Wie folgt:
a 12 45
b 32 98
c 18 300
Danke, Elisheva
Antwort1
Der \pgfplotstablecreatecol
Befehl aus dempgfplotstable
Das Paket kann hier verwendet werden, um einer Tabelle beim Erstellen zusätzliche Spalten hinzuzufügen:
\documentclass{article}
\usepackage{pgfplotstable}
\usepackage{booktabs}
%\pgfplotsset{compat=1.10}
%the following section is just for the example; you can have your actual tables
% in separate external files
\usepackage{filecontents}
\begin{filecontents*}{table1.dat}
name data1
a 12
b 32
c 18
\end{filecontents*}
\begin{filecontents*}{table2.dat}
name data2
a 45
b 98
c 300
\end{filecontents*}
%%%% end of section %%%%%%%%%%%%%%%
\pgfplotstableread{table1.dat}{\loadedtablei}
\pgfplotstableread{table2.dat}{\loadedtableii}
\pgfplotstablecreatecol[
copy column from table={\loadedtableii}{[index] 1},
]{data2}{\loadedtablei}
\begin{document}
\pgfplotstabletypeset[
string type,
every head row/.style={before row=\toprule,after row=\midrule},
every last row/.style={after row=\bottomrule}
]{\loadedtablei}
\end{document}
Wie ich im Code erwähnt habe, filecontents*
dient der Abschnitt nur als Beispiel. Sie können Ihre Tabellen beispielsweise in separaten externen Dateien oder in Ihrer eigentlichen Datei haben .tex
.
Hier ist ein realistischeres Beispiel, das das Verfahren Schritt für Schritt erklärt.
Erstellen Sie eine Datei
table1.dat
wie diese:Category Valuea {Share Jewish} 0.87 {Share Muslim} 0.05 {Share other religion} 0.08 {Mean age} 33.28 {Share born in Israel} 0.69 {Share work} 0.23 {Share male} 0.51 {Share dis\_21} 0.01 {Share dis\_18} 0.00 {Share dis\_13} 0.00
Erstellen Sie eine Datei
table2.dat
wie diese:Category Valueb {Share Jewish} 0.13 {Share Muslim} 0.51 {Share other religion} 0.18 {Mean age} 23.16 {Share born in Israel} 0.29 {Share work} 0.15 {Share male} 0.33 {Share dis\_21} 0.02 {Share dis\_18} 0.01 {Share dis\_13} 0.01
Beachten Sie, dass Einträge mit mehr als einem Wort mithilfe von Klammern gruppiert werden. Außerdem habe ich einige Überschriften für die erste Zeile der zusammengeführten Tabelle bereitgestellt.
Speichern Sie diese Dateien in Ihrem aktuellen Arbeitsverzeichnis (dasselbe, in dem sich Ihre
.tex
Datei befindet).Ihre
.tex
Datei sollte folgendes Aussehen haben:\documentclass{article} \usepackage{pgfplotstable} \usepackage{booktabs} %\pgfplotsset{compat=1.10} % Read table1 \pgfplotstableread{table1.dat}{\loadedtablei} % Read table2 \pgfplotstableread{table2.dat}{\loadedtableii} % Create additional column for table1 containing % second column from table2 \pgfplotstablecreatecol[ copy column from table={\loadedtableii}{[index] 1}, ]{Valueb}{\loadedtablei} \begin{document} % Print the merged table \pgfplotstabletypeset[ string type, every head row/.style={before row=\toprule,after row=\midrule}, every last row/.style={after row=\bottomrule} ]{\loadedtablei} \end{document}
Die Verarbeitung des obigen Dokuments ergibt: