表头和输入 CSV 文件的每行组成一个表格

表头和输入 CSV 文件的每行组成一个表格

我想从一个 CSV 文件中获取更多表格,以便表格有一个标题并且只有一行来自输入 CSV 文件。

第一个表格包含 CSV 文件的标题和第一行,第二个表格包含 CSV 文件的标题和第二行,依此类推,直到 CSV 文件的最后一行。表格的数量等于 CSV 文件中的行数。

我做了一个示例,并设法生成了与 CSV 文件的行数相等的表格数量,但不幸的是,我只有标题。我在 CSV 文件中缺少所有表格(每行一行)的数据。

重要的是,在给定的示例中使用了 csvsimple-l3 包

 \documentclass{article}
 \begin{filecontents*}{data9.txt}
 1,A,6,Euploid,XX
 2,B,7,Euploid,XX
 3,C,8,Euploid,XX
 4,D,9,Euploid,XXY
 5,E,4,Euploid,XX
 6,F,3,Euploid,XX
 \end{filecontents*}

\usepackage{readarray}
\readarraysepchar{,}
\usepackage{csvsimple-l3}
\usepackage{tabularray}
\usepackage{pgffor}

\begin{document}

\newcommand{\customtable}[1]{%
\readdef{#1}\filedata
\let\myrowcount\nrows
%
\foreach \i in {1,...,\myrowcount}{%
\csvreader[%
generic collected table = longtblr,
generic table options = {[
    label = none
]{
colspec={*{5}{X[1,c]}},
vlines,
hlines,
width=\textwidth,
}},
no head,
filter test={\ifnum\thecsvrow=\i\fi},
table head ={Col 1&Col 2&Col 3&Col 4 &Col 5\\}
]%
{#1}{}%
{\ifnum\thecsvrow=\i
 \csvcoli & \csvcolii & \csvcoliii & \csvcoliv & \csvcolv
  \else \fi}
   }
}

\customtable{data9.txt}

The number of columns is: \myrowcount.

\end{document}

在此处输入图片描述

如果有人能帮忙并提供一个例子,那将会很有用,我将非常感激。

答案1

虽然这个答案可能对 OP 没有直接用处,因为指定了“在给定的示例中使用 csvsimple-l3 包非常重要”,但我仍然向其他读者展示了如何直接使用该readarray包来实现这一点。

\begin{filecontents*}[overwrite]{data9.txt}
1,A,6,Euploid,XX
2,B,7,Euploid,XX
3,C,8,Euploid,XX
4,D,9,Euploid,XXY
5,E,4,Euploid,XX
6,F,3,Euploid,XX
\end{filecontents*}
\documentclass{article}
\usepackage{readarray,pgffor}
\readarraysepchar{,}
\parskip 12pt
\begin{document}
\def\mheaderdat{Col1,Col2,Col3,Col4,Col5}
\readarray*\mheaderdat\mheader[-,5]
\typesetarray\mheader

\readdef{data9.txt}\mdatadat
\readarray*\mdatadat\mdata[-,\ncols]
\typesetarray\mdata

\renewcommand\typesetrowsepchar{\\\hline}
\renewcommand\typesetcolsepchar{&}
\initarray\mtable[2,5]
\foreach\z in{1,...,\nrows}{%
  \mergearray\mdata\mtable[\numexpr3-\z,1]
  \mergearray\mheader\mtable[1,1]
  \begin{tabular}{|c|c|c|c|c|}
    \hline
    \typesetarray\mtable\\
    \hline
  \end{tabular}\par
}
\end{document}

在此处输入图片描述

相关内容