(LaTeX中的数据工具)DTLforeach:Can';t分配XXX在XXX中没有键吗?

(LaTeX中的数据工具)DTLforeach:Can';t分配XXX在XXX中没有键吗?,latex,Latex,我是LaTeX的初学者,目前正在尝试从文本文件创建表(出于某种原因,数据是从其他程序生成的,并以.txt文件编写) 下面是一个文本文件:(刚刚将其集成到latex中) 我尝试使用package的DTLforeach生成一个latex表,它使用: \DTLsetseparator{ } \DTLloaddb[ keys={zeit,am1,am2,am3,am4} ]{d11db}{d11.csv} .... Some other texts... \begin{tab

我是LaTeX的初学者,目前正在尝试从文本文件创建表(出于某种原因,数据是从其他程序生成的,并以.txt文件编写)

下面是一个文本文件:(刚刚将其集成到latex中)

我尝试使用package的DTLforeach生成一个latex表,它使用:

\DTLsetseparator{ }
\DTLloaddb[
           keys={zeit,am1,am2,am3,am4}
]{d11db}{d11.csv}

 .... Some other texts...

\begin{tabular}{|c|c|c|c|c|}
\bfseries Zeit/s &
\bfseries AMES\_13 &
\bfseries AMES\_14 &
\bfseries AMES\_15 &
\bfseries AMES\_16 \\\hline
\DTLforeach{d11db}{\zeit=zeit,\am1=am1,\am2=am2,\am3=am3,\am4=am4
}{%
  \zeit & \am1 & \am2 & \am3 & \am4 \\\hline
}
\end{tabular}
当我试图编译它时,LaTeX(或pdflatex)只是向我显示错误:

Package datatool Error: Can't assign \am4 : there is no key `am4 ' in data base `d11db'.

如果我删除\am4=am4,则表明am3不存在。。。有人能告诉我如何解决这个错误吗?Thx(和sry表示我的蹩脚英语)

选项指定您在CSV中使用的实际标题名称。以下是(从外部ASCII文件加载数据库部分5.2)的摘录:

这是一个以逗号分隔的要使用的键列表,其中的键是 按与列相同的顺序列出。如果文件有头, 这些键将覆盖标题行中给定的值。如果 文件没有标题行,并且
中没有提供键,则 键将由
\dtldefaultkey
给出,其中
\dtldefaultkey
列号和
\dtldefaultkey
默认为“列”。 请注意,键列表必须用大括号分隔,因为它们 包含逗号

因此,我的建议是使用:

\begin{filecontents*}{d11.csv}
zeit,am1,am2,am3,am4
3,0 000  8,760V 0,000  0,216mA
...
\end{filecontents*}

\DTLloaddb[
  keys={zeit,am1,am2,am3,am4},
  headers={Zeit/s,AMES\_13,AMES\_14,AMES\_15,AMES\_16}
]{d11db}{d11.csv}
注意
标题的使用
键:

标题

这是一个以逗号分隔的标题列表。如果未提供,则 标题将与标题行或键中给出的标题相同 如果没有标题行。请注意,标题列表必须是 由大括号分隔,因为它们包含逗号

\begin{filecontents*}{d11.csv}
zeit,am1,am2,am3,am4
3,0 000  8,760V 0,000  0,216mA
...
\end{filecontents*}

\DTLloaddb[
  keys={zeit,am1,am2,am3,am4},
  headers={Zeit/s,AMES\_13,AMES\_14,AMES\_15,AMES\_16}
]{d11db}{d11.csv}