从数组 .csv 文件获取向量

从数组 .csv 文件获取向量

我希望你能帮助我。我想创建一个名为“x”的变量,其中包含名为“data”的数组 .csv 文件中标题为“x”的列的值(请参见下文)。你能帮我做吗?

.csv 数组以分号分隔:

data ='x';'y';'z'\\
      1;2;3\\
      4;5;6\\
      7;8;9

我想要获得:x = 列向量 [1;4;7]

我想在 TikZ 环境中执行此操作。

另一个问题:如果我要评估“x”的第三个元素的值,我该怎么做?

我想要获得值 x(3) = 7。

另外,我想获取向量“x”第 1 列的最小值,我该怎么做?

提前致谢。

答案1

在这里,我用来readarray导入数据并listofitems对其进行解析。

\begin{filecontents*}[overwrite]{data.csv}
data ='x';'ycol';'z'\\
      1;2;3\\
      4;5;6\\
      7;8;9
\end{filecontents*}
\documentclass{article}
\usepackage{readarray,listofitems}
\newcommand\arrayelement[2]{%
  \def\tmpA{#1}%
  \foreachitem\z\in\dataarray[1]{%
    \edef\tmpB{\dataarray[1,\zcnt,2]}%
    \ifnum\pdfstrcmp{\tmpA}{\tmpB} = 0 \dataarray[#2+1,\zcnt]\fi
  }%
}
\begin{document}
\readdef{data.csv}\mydata
\setsepchar{\\/;/'}
\readlist*\dataarray{\mydata}

\arrayelement{x}{2},
\arrayelement{ycol}{1},
\arrayelement{z}{3}.
\end{document}

在此处输入图片描述

相关内容