Como gerar uma lista contendo os valores de uma tabela

Como gerar uma lista contendo os valores de uma tabela

Eu tenho uma tabela contendo duas colunas com valores xe yrespectivamente e quero gerar uma lista \coordinatescontendo (x,y)para cada linha da coluna.

Tentei definir um comando que cria uma lista usando o \apptocomando:

\newcommand{\coordinates}{}
\newcommand{\coordinate}[1]{%
    \ifdefempty{\coordinates}
        {\appto\coordinates{#1}}
        {\appto\coordinates{, #1}}
}

Ao chamar \coordinate{(1,2)}e \coordinate{(2,3)}, \coordinatescontém (1,2), (2,3). Até agora isso funciona bem.

Agora quero combinar isso ao csvsimple \csvloopcomando, para chamar o \coordinatecomando para cada linha da tabela e assim gerar minha lista desejada. Infelizmente, a saída da lista é (,), (,), (,), (,)em vez de (1,2), (2,3), (3,4), (4,5), então o TeX parece não inserir o número no comando. Qual é o problema aqui?

\documentclass{article}

\usepackage{csvsimple}

\newcommand{\coordinates}{}
\newcommand{\coordinate}[1]{%
    \ifdefempty{\coordinates}
        {\appto\coordinates{#1}}
        {\appto\coordinates{, #1}}
}

\begin{filecontents*}{data.csv}
    x,y
    1,2
    2,3
    3,4
    4,5
\end{filecontents*}

\begin{document}

\csvloop{%
    file = {data.csv},%
    column names = {x=\x, y=\y},%
    command = \coordinate{(\x,\y)}%
}

% \coordinate{(1,2)}
% \coordinate{(2,3)}
% \coordinate{(3,4)}
% \coordinate{(4,5)}

\coordinates

\end{document}

informação relacionada