입력 CSV 파일에는 가변 개수의 열이 있습니다. 2번째, 3번째, 4번째, 5번째 열의 두 번째 행에 데이터가 추가됩니다. 입력 SCV 파일은 3개 또는 4개의 열을 가질 수 있으므로 위의 데이터는 입력 CSV 파일에 따라 헤더가 변경되는 변수인 다른 수의 열에 분산됩니다.
입력 CSV 데이터와 일치하는 동적 헤더를 정의해야 합니다.
동적 헤더를 제외한 모든 항목이 입력 CSV 파일에 적용되는 Latex 코드의 예를 만들었습니다. 시도할 때 수정할 수 없는 오류가 발생했습니다.
내 라텍스 코드:
\documentclass{article}
\begin{filecontents*}{file3.csv}
a,b,c
\end{filecontents*}
\begin{filecontents*}{file4.csv}
a,b,c,d
\end{filecontents*}
\usepackage{csvsimple-l3}
\usepackage{tabularray}
\usepackage{xcolor}
\usepackage{ifthen}
\usepackage{readarray}
\readarraysepchar{,}
\usepackage{etoolbox}
\ExplSyntaxOn
\NewExpandableDocumentCommand{\GenerateHeader}{m}
{
\prg_replicate:nn {#1} { & }
}
\ExplSyntaxOff
\begin{document}
\newcommand{\InputCSV}[1]{%
\readdef{#1}\filedata%
\csvreader[%
no head,
tabularray={colspec={X[1,c,m]
*{\ncols}{X[1,c,m]} X[1,c,m]X[1,c,m]},
hlines,vlines,
width=\textwidth,
colsep=2.5pt,
rowsep=4.5pt,
row{1-2}={c,m,fg=black,bg=black!10,font=\bfseries\small},
cell{1}{1}={r=2}{c,m,font=\small\bfseries,bg=black!10},
cell{1}{2}={c=\ncols}{c,m,font=\small\bfseries,bg=black!10},
cell{1}{\ncols+2}={c=2}{c,m,font=\small\bfseries,bg=black!10},
expand=\expanded,
},
table head=Sample&Span over 3 or 4 columns
%&&&
\expanded{\GenerateHeader{\ncols}}
Last& \\
]{#1}
{}{%
\ifnumequal{\ncols}{4}{%
Name &\csvcoli&\csvcolii&\csvcoliii&\csvcoliv&Result & Erros
}{%
\ifnumequal{\ncols}{3}{%
Name &\csvcoli&\csvcolii&\csvcoliii&Result & Erros
}{}%
}
}%
}
\InputCSV{file3.csv}
\bigskip
The file consists of \ncols{} columns.
\end{document}
입력 SCV 파일에 따른 출력 테이블의 모양은 다음과 같습니다.
누구든지 이 문제를 해결하는 방법에 대한 아이디어를 갖고 있고 예를 제시할 수 있다면 매우 도움이 될 것입니다. 주어진 예에서는 csvsimple-l3 및 tabularray 패키지를 사용하는 것이 중요합니다.