fusionar dos tablas en una

fusionar dos tablas en una

Tengo dos tablas separadas con el mismo número de filas y etiquetas de la siguiente manera:

uno:

a  12
b  32 
c  18

dos:

a  45 
b  98
c  300

¿Cómo puedo combinar esas dos tablas en una? como sigue:

a 12 45
b 32 98
c 18 300

gracias elisheva

Respuesta1

El \pgfplotstablecreatecolcomando de lapgfplotstableEl paquete se puede utilizar aquí para agregar columnas adicionales a una tabla cuando se crea:

\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}

ingrese la descripción de la imagen aquí

Como mencioné en el código, la filecontents*sección es solo para el ejemplo; puede tener sus tablas en archivos externos separados, por ejemplo, o puede tenerlas en su .texarchivo real.

Aquí tienes un ejemplo más real, explicando paso a paso el procedimiento.

  1. Crea un archivo table1.datcomo este:

    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. Crea un archivo table2.datcomo este:

    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
    

    Observe que las entradas con más de una palabra se agrupan mediante llaves. También proporcioné algunos títulos para la primera fila de la tabla fusionada.

  3. Guarde estos archivos en su directorio de trabajo actual (el mismo que contiene su .texarchivo).

  4. Su .texarchivo debe tener el siguiente aspecto:

    \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}
    

Procesar el documento anterior produce:

ingrese la descripción de la imagen aquí

información relacionada