csvsimple csvreader não usa separador de opções

csvsimple csvreader não usa separador de opções

Meu csv é separado por guias.

Ao carregá-lo com \csvautotabulara opção separator=tabfunciona bem. Mas ao carregá-lo \csvreadercomo no exemplo da documentação ele imprime apenas a primeira linha de dados.

Imagens para ver o resultado estão anexadas no final.

meu arquivo com guias (table-data/parse_size_out.tsv):

benchmark   num_post_packed_blocks  num_clb
ch_intrinsics.v 295 65
diffeq1.v   299 36
diffeq2.v   198 29
mkPktMerge.v    509 27
raygentop.v 634 106
stereovision3.v 54  13

reformatado com vírgulas (table-data/parse_size_out_commas.csv):

benchmark,num_post_packed_blocks,num_clb
ch_intrinsics.v,295,65
diffeq1.v,299,36
diffeq2.v,198,29
mkPktMerge.v,509,27
raygentop.v,634,106
stereovision3.v,54,13

MWE:

\documentclass{article}

\usepackage{csvsimple}

\begin{document}

\csvautotabular[
separator=tab,
respect underscore=true
]{table-data/parse_size_out.tsv}

\vspace{1cm}

\begin{tabular}{|l|c|}\hline%
\bfseries Benchmark & \bfseries \#blocks
\csvreader[
separator=tab,
respect underscore=true,
head to column names
]{table-data/parse_size_out.tsv}{benchmark=\benchmark,num_post_packed_blocks=\numblocks}{%
\\\benchmark & \numblocks
}%
\\\hline
\end{tabular}

\vspace{1cm}

\begin{tabular}{|l|c|}\hline%
\bfseries Benchmark & \bfseries \#blocks
\csvreader[
respect underscore=true,
head to column names
]{table-data/parse_size_out_commas.csv}{benchmark=\benchmark,num_post_packed_blocks=\numblocks}{%
\\\benchmark & \numblocks
}%
\\\hline
\end{tabular}

\end{document}

\csvautotabular:

csvautotabular

\csvreadercom arquivo tabulado:

csvreader com abas

\csvreadercom arquivo com vírgulas:

csvreader com vírgulas

Responder1

Você deve carregar a versão (mantida) l3.

\documentclass{article}
\usepackage[T1]{fontenc}

\usepackage[l3]{csvsimple}

\begin{document}

\csvautotabular[
  separator=tab,
  respect underscore=true
]{a.tsv}

\vspace{1cm}

\begin{tabular}{|l|c|}\hline
\bfseries Benchmark & \bfseries \#blocks
\csvreader[
  separator=tab,
  respect underscore=true,
  head to column names
]{a.tsv}{benchmark=\benchmark,num_post_packed_blocks=\numblocks}{%
  \\\benchmark & \numblocks
}
\\\hline
\end{tabular}

\vspace{1cm}

\begin{tabular}{|l|c|}\hline
\bfseries Benchmark & \bfseries \#blocks
\csvreader[
  respect underscore=true,
  head to column names
]{b.csv}{benchmark=\benchmark,num_post_packed_blocks=\numblocks}{%
  \\\benchmark & \numblocks
}
\\\hline
\end{tabular}

\end{document}

(Mudei os nomes dos arquivos, edite-os novamente.)

insira a descrição da imagem aqui

informação relacionada