如何从数据库中获取相关信息?

如何从数据库中获取相关信息?

大家好,我无法获取或链接 Core-1 的内容来查找表格内容,当我使用 \coreOne 时,Core-1 的内容是 ENGL,我得到的输出是 ENGL,那么如果我使用 \coreOne(即 \ENGL)会发生什么?我应该能够得到英语吗,因为我已经定义了 \newcommand{\ENGL}{English}。请帮助我,这是我的 MWE

\documentclass[a4paper]{article}

\usepackage{xstring,datatool}

\newcommand{\ENGL}{English}
\newcommand{\ALTE}{Alternative English}
\newcommand{\POSC}{Political Science}
\newcommand{\GEOG}{Geography}
\newcommand{\LOPH}{Logic \& Philosophy}
\newcommand{\ENVE}{Environmental Education}

\begin{filecontents*}{mark.csv}
Name,Core-1,Core-2,EL-1,EL-2,EL-3,Comp
Biki Teron,ENGL, ALTE, POSC, GEOG, LOPH, ENVE
\end{filecontents*}
\DTLloaddb{data}{mark.csv}
\begin{document}

\DTLforeach*{data}{\name=Name, \coreOne=Core-1}{
\ \coreOne
}

\end{document}

答案1

我不太确定我是否理解您的意思,但也许您正在寻找 \csname..\endcsname:

\documentclass[a4paper]{article}

\usepackage{xstring,datatool}

\newcommand{\ENGL}{English}
\newcommand{\ALTE}{Alternative English}
\newcommand{\POSC}{Political Science}
\newcommand{\GEOG}{Geography}
\newcommand{\LOPH}{Logic \& Philosophy}
\newcommand{\ENVE}{Environmental Education}

\begin{filecontents*}{mark.csv}
Name,Core-1,Core-2,EL-1,EL-2,EL-3,Comp
Biki Teron,ENGL, ALTE, POSC, GEOG, LOPH, ENVE
\end{filecontents*}
\DTLloaddb{data}{mark.csv}
\begin{document}

\DTLforeach*{data}{\name=Name, \coreOne=Core-1}{
\csname\coreOne\endcsname
}

\end{document}

enter image description here

相关内容