我有一个 csv 文件格式的数据集,正在加载到 中pgfplotstable
。我无法更改原始 csv 的格式,并且作为财务数据,它在表格顶部有一列项目名称和两三个解释性数据点。例如
\documentclass{article}
\usepackage{array,datatool,pgfplotstable}
\begin{filecontents}{sample.csv}
item,2008,2009,2010,2011
,Actual,Actual,Forecast,Forecast
,GBP,GBP,GBP,GBP
,('000),('000),('000),('000) rounded
Area 1 OP, 1000000,1500000,1750000,250000
Area 2 OP, 400000,500000, 450000,-50000
Area 51 OP, 300000,375000,390000,15000
No P, 1250000, 1000000, 950000, 50000
Residuals, 800000, 80000, 90000, 10000
\end{filecontents}
\pgfplotstableread[col sep=comma]{sample.csv}\mystuff
我对下一个阶段感到困惑,即排版,\mystuff
以便我有逗号分隔符,并可以添加一行来汇总“区域”列。目前,要显示表格,我必须执行类似以下操作
\begin{document}
\pgfplotstableread[col sep=comma,header=false]{sample.csv}\mystuff
\pgfplotstabletypeset[
columns/0/.style={string type},
columns/1/.style={string type},
columns/2/.style={string type},
columns/3/.style={string type},
columns/4/.style={string type}]\mystuff
\end{document}
如何将前三行标记为字符串,并将其余后四列标记为整数类型,以便我可以格式化和转换它们?
答案1
由于pgfplotstable
尚不支持多行标题,因此您需要特别格式化这些行上的单元格。我无法让行样式帮我完成此操作,因此最终格式化了每个单独的单元格:
\documentclass{article}
\usepackage{array,datatool,pgfplotstable}
\pgfplotsset{compat=1.6}
\begin{filecontents}{sample.csv}
item,2008,2009,2010,2011
,Actual,Actual,Forecast,Forecast
,GBP,GBP,GBP,GBP
,('000),('000),('000),('000) rounded
Area 1 OP, 1000000,1500000,1750000,250000
Area 2 OP, 400000,500000, 450000,-50000
Area 51 OP, 300000,375000,390000,15000
No P, 1250000, 1000000, 950000, 50000
Residuals, 800000, 80000, 90000, 10000
\end{filecontents}
\pgfplotstableread[col sep=comma]{sample.csv}\mystuff
\begin{document}
\pgfplotstabletypeset[
fixed,
display columns/0/.style={string type},
every row 0 column 1/.style={string type},
every row 0 column 2/.style={string type},
every row 0 column 3/.style={string type},
every row 0 column 4/.style={string type},
every row 1 column 1/.style={string type},
every row 1 column 2/.style={string type},
every row 1 column 3/.style={string type},
every row 1 column 4/.style={string type},
every row 2 column 1/.style={string type},
every row 2 column 2/.style={string type},
every row 2 column 3/.style={string type},
every row 2 column 4/.style={string type}]\mystuff
\end{document}
请注意,我已指定fixed
默认单元格格式。您最初的尝试可能只是使用单个样式,string type
而不是为每个单独的列指定样式。