我可以在 pgfplotstable 中使用 | 作为列分隔符吗?

我可以在 pgfplotstable 中使用 | 作为列分隔符吗?

我想|在 CSV 文件中用作列分隔符。因为它看起来很干净,所以我不会觉得直接编辑 CSV 文件很麻烦。

我查看了手册,似乎该选项col sep仅接受几个值:commafor ,semicolonfor ;colonfor :bracesfor {}ampersandfor &、 space 和 tab。就这些。

我已尝试过col sep=|但是没有效果。

答案1

查看代码,分隔符选择是硬编码的(它们设置一个内部开关,然后选择不同的辅助设备)。您应该能够使用以下代码阅读描述的表格:datatool,或者可以提出功能请求pgfplots

我认为,要“手工”做事,你需要

\documentclass{article}
\usepackage{pgfplots}
\makeatletter
\let\pgfplotstableread@impl@ITERATE@NEXT\pgfplotstableread@impl@ITERATE@NEXT@PIPE
\long\def\pgfplotstableread@impl@DO@#1{%
  \pgfplotstableread@impl@ITERATE#1|\pgfplotstable@EOI}%
\long\def\pgfplotstableread@impl@ITERATE@NEXT@PIPE#1|{%
    \pgfplotstableread@impl@ITERATE@NEXT@{#1}%
    \pgfplotstableread@impl@ITERATE
}
\makeatother

相关内容