我想使用 pgfplotstable 打印一个数据表,它很长(14 列)。
现在我想知道如何省略表中的一列。
一个已知的解决方案如何隐藏 pgfplotstable 中的一列但是这个解决方案并不是很漂亮,因为它实际上是间接地解决了问题,即通过指定要打印的列(与省略的列相反)。
因为我有 14 列,所以这会涉及一行非常长的行
列={HeadCol1,HeadCol2,HeadCol3,HeadCol4,HeadCol6,HeadCol7,HeadCol8,...}
而且列标题名称也仍有可能更改。所以我正在寻找一种方法来省略带有索引的列,例如 6。有办法吗?
答案1
这是一种解决方法。如果您想要隐藏两列或更多列,则此方法不适用。
\documentclass{article}
\usepackage{pgfplotstable}
\begin{document}
\pgfplotstableread{
A B C D E F G H I J K L M N
1 2 3 4 5 6 7 8 9 10 11 12 13 14
15 16 17 18 19 20 21 22 23 24 25 26 27 28
}\loadedtable
\ttfamily
\meaning\loadedtable
\pgfplotstabletypeset\loadedtable
\let\newcolumnlist\relax
\def\dropcolumn{F}
\pgfplotslistforeach\loadedtable\as\columnname{
\ifx\columnname\dropcolumn\else
\ifx\newcolumnlist\relax
\xdef\newcolumnlist{\columnname}
\else
\xdef\newcolumnlist{\newcolumnlist,\columnname}
\fi
\fi
}
\edef\pgfplotsmarshal{\noexpand\pgfplotstabletypeset[columns={\newcolumnlist}]\noexpand\loadedtable}
\meaning\newcolumnlist
\pgfplotsmarshal
\end{document}