在 datatool 中加载新数据库时,只有第一个键有效

在 datatool 中加载新数据库时,只有第一个键有效

我尝试使用 datatool 将 .csv 加载到我的 .tex 中,但它只使用第一个给定的键,但我只是不明白为什么。

我的示例 foobar.csv 的第一行:

1;a;ax
2;b;be
2;c;ck
3;d;do

(最后,最后一列将填充 picture.jpg,它将被加载到 tkizpicture 中,如果我只取最后一列,它就可以正常工作。其他列也是如此,如果我只取那一列,它们将有一个特殊的操作,可以正常工作。)

母语:

\documentclass{standalone}
\usepackage{datatool}
\DTLloaddb[noheader,keys={1,2,3}]{foobar}{foobar.csv}
\begin{document}
\DTLdisplaydb{foobar}
\end{document}

它没有给出错误,因为我在这个例子中没有使用键,但它没有打印键 2 和 3,而只打印 1。它完美地打印了三列,但没有打印键。如果我在更复杂的示例中使用键,我会收到错误:

foob​​ar.tex:51:包数据工具错误:无法分配\Title:数据库“foobar”中没有键“2”。

感谢您的帮助!

答案1

解决方案很简单,只需添加

\DTLsetseparator{;}

\DTLloaddb[noheader,keys={1,2,3}]{foobar}{foobar.csv}

因为分隔符似乎是问题所在。

相关内容