如何使用pgfplotstable
withmultirow
创建一个表格,其中有一列的每个单元格跨越 3 行。
\documentclass{article}
\usepackage{pgfplotstable}
\usepackage{multirow}
\begin{filecontents}{table.csv}
A,B,C
1,1,200
,3,300
,5,400
2,1,150
,3,250
,5,350
\end{filecontents}
\pgfplotstableread[col sep=comma]{table.csv}\tabledata
\begin{document}
\begin{table}
\centering
% ???
\end{table}
\end{document}
应生成如下表格:
┌───┬───┬─────┐
│ A │ B │ C │
├───┼───┼─────┤
│ │ 1 │ 200 │
│ 1 │ 3 │ 300 │
│ │ 5 │ 400 │
│ │ 1 │ 150 │
│ 2 │ 3 │ 250 │
│ │ 5 │ 350 │
└───┴───┴─────┘
答案1
您可以检查行号模 3 并执行相应的操作。
\documentclass{article}
\usepackage{pgfplotstable}
\usepackage{multirow}
\pgfplotstableread[col sep=comma]{
A,B,C
1,1,200
,3,300
,5,400
2,1,150
,3,250
,5,350
}\tabledata
\begin{document}
\begin{table}
\centering
\pgfplotstabletypeset[
columns/A/.style={
assign cell content/.code={%
\pgfmathparse{int(Mod(\pgfplotstablerow,3)}%
\ifnum\pgfmathresult=0%
\pgfkeyssetvalue{/pgfplots/table/@cell content}%
{\multirow{3}{*}{##1}}%
\fi%
},
},
]{\tabledata}
\end{table}
\end{document}