![csvsimple 和更多过滤器](https://linux22.com/image/252095/csvsimple%20%E5%92%8C%E6%9B%B4%E5%A4%9A%E8%BF%87%E6%BB%A4%E5%99%A8.png)
如何使用 csvsimple (或者其他什么?pgfplotstable?) 将多个条件作为过滤器 (我需要大约 7 个) 来将过滤后的 csv 文件显示为表格?我尝试过以下方法:
filter=\equal{\gender}{m} and \equal{\grade}{5.0}
但那不起作用。示例见下文。谢谢。
\documentclass{article}
\usepackage{csvsimple}
\usepackage{filecontents}
\begin{filecontents*}{testdata.csv}
name,gender,grade
Hans,m,1.0
Anna,f,2.3
Anton,m,5.0
Hilde,f,5.0
\end{filecontents*}
\begin{document}
\begin{tabular}{lc}
\csvreader[head to column names,filter=\equal{\gender}{m}]{testdata.csv}{}
{\\\name & \grade}
\end{tabular}
\begin{tabular}{lc}
\csvreader[head to column names,filter=\equal{\grade}{5.0}]{testdata.csv}{}
{\\\name & \grade}
\end{tabular}
\begin{tabular}{lc}
\csvreader[head to column names,filter=\equal{\gender}{m} and \equal{\grade}{5.0]{testdata.csv}{}
{\\\name & \grade}
\end{tabular}
\end{document}
答案1
该包似乎ifthenelse
在内部使用,因此您可以使用该包的涉及\and
和的布尔表达式\or
。
所以我只需将其中一行改为:
\csvreader[head to column names,filter=\equal{\gender}{m} \and \equal{\grade}{5.0}]{testdata.csv}{}