CSV 열이 비어 있으면 아무 것도 하지 마십시오. 어떻게 해야 합니까?

CSV 열이 비어 있으면 아무 것도 하지 마십시오. 어떻게 해야 합니까?

MWE(실제로 완전히 MWE는 아니지만 이런 식으로 무슨 일이 일어나는지 확인하는 것이 더 쉽다고 생각합니다):

\documentclass{article}
\usepackage{csvsimple}
\usepackage{graphicx}

\begin{document}
\setlength\unitlength{1cm}

\csvreader[head to column names]{jobname2.csv}{}{%
\vfill
\artist

\includegraphics[height=37mm]{\filenameone}

\includegraphics[height=37mm]{\filenametwo}

\comment
}
\end{document}

의 내용 jobname2.csv:

artist,filenameone,filenametwo,comment
Foo,example-image-a,example-image-b,Nothing
Foobar,example-image-a,,Something

열에 아무것도 없으면 filenametwo아무 것도 하고 싶지 않습니다(어떻게 표현해야 할지 모르겠습니다).

답변1

csvsimple\ifcsvstrequal{X}{Y}{equal}{not equal}두 매개변수 XY가 같거나 다른 경우 조건부로 코드를 실행하는 매크로를 제공합니다 (기본적으로 \ifx두 개의 \edef-ed 토큰 목록 중 하나). 다음과 같은 추가 패키지 없이도 예제에서 해당 매크로를 사용할 수 있습니다 xstring.

\documentclass{article}

\usepackage{filecontents}
\begin{filecontents*}{\jobname.csv}
artist,filenameone,filenametwo,comment
Foo,example-image-a,example-image-b,Nothing
Foobar,example-image-a,,Something
Bar,,example-image-b,Anything
\end{filecontents*}

\usepackage{csvsimple}
\usepackage{graphicx}

\begin{document}
\setlength\unitlength{1cm}

\csvreader[head to column names]{\jobname.csv}{}{%
\vfill
\artist

\ifcsvstrequal{\filenameone}{}{(no first image)}{%
    \includegraphics[height=37mm]{\filenameone}
}
\ifcsvstrequal{\filenametwo}{}{(no second image)}{%
    \includegraphics[height=37mm]{\filenametwo}
}

\comment
}
\end{document}

여기에 이미지 설명을 입력하세요

관련 정보