Zwei Tabellen zu einer zusammenführen

Zwei Tabellen zu einer zusammenführen

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 \pgfplotstablecreatecolBefehl aus dempgfplotstableDas 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}

Bildbeschreibung hier eingeben

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.

  1. Erstellen Sie eine Datei table1.datwie 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
    
  2. Erstellen Sie eine Datei table2.datwie 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.

  3. Speichern Sie diese Dateien in Ihrem aktuellen Arbeitsverzeichnis (dasselbe, in dem sich Ihre .texDatei befindet).

  4. Ihre .texDatei 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:

Bildbeschreibung hier eingeben

verwandte Informationen