mesclar duas tabelas em uma

mesclar duas tabelas em uma

eu tenho duas tabelas específicas com o mesmo número de linhas e rótulos da seguinte forma:

um:

a  12
b  32 
c  18

dois:

a  45 
b  98
c  300

como posso combinar essas duas tabelas em uma? do seguinte modo:

a 12 45
b 32 98
c 18 300

obrigado Elisheva

Responder1

O \pgfplotstablecreatecolcomando dopgfplotstableO pacote pode ser usado aqui para adicionar colunas adicionais a uma tabela quando ela é criada:

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

insira a descrição da imagem aqui

Como mencionei no código, a filecontents*seção é apenas para exemplo; você pode ter suas tabelas em arquivos externos separados, por exemplo, ou pode tê-las em seu .texarquivo real.

Aqui está um exemplo mais real, explicando passo a passo o procedimento.

  1. Crie um arquivo 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. Crie um arquivo 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 as entradas com mais de uma palavra são agrupadas com colchetes. Também forneci alguns títulos para a primeira linha da tabela mesclada.

  3. Salve esses arquivos em seu diretório de trabalho atual (o mesmo que contém seu .texarquivo).

  4. Seu .texarquivo deverá ter o seguinte 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}
    

O processamento do documento acima produz:

insira a descrição da imagem aqui

informação relacionada