\newwrite、pgfplotstable: 生成された行を 1 つの pgfplotstable にまとめます (フォローアップの質問)

\newwrite、pgfplotstable: 生成された行を 1 つの pgfplotstable にまとめます (フォローアップの質問)

@egreg から、書き出されたテキストファイルにループで行を作成するコードを受け取りました。
これらの行をすべて 1 つの pgfplotstable にまとめる必要があります。つまり、次のようになります。

\ifnum\the\filecount=1 \pgfplotstableread[col sep=comma]{data\the\filecount.txt}{\main}\else 
\pgfplotstableread[col sep=comma]{data\the\filecount.txt}{\temp}
% \pgfplotstablevertcat{\main}{\temp}  % <--- Does not work!

pgfplotstablevertcat コマンドをどのように配置すればよいですか?

私のメイン アルゴリズムでは、前の行の内容を次の行にチャージする必要があることに注意してください。したがって、この複雑な出力方法では、これを最初に残します。後のメイン コードについては、後で説明して簡略化します。

ここに画像の説明を入力してください

\documentclass[a4paper]{article}
\usepackage{pgfplotstable}

\newcount\filecount
\newwrite\cisout
\begin{document}

\filecount=1
\def\aaa{file number \the\filecount}%
\loop
\immediate\openout\cisout=data\the\filecount.txt
\immediate\write\cisout{%
111, 222,   \aaa
}
\immediate\closeout\cisout
\ifnum\the\filecount=1 \pgfplotstableread[col sep=comma]{data\the\filecount.txt}{\main}\else 
\pgfplotstableread[col sep=comma]{data\the\filecount.txt}{\temp}
% \pgfplotstablevertcat{\main}{\temp}  % <--- Does not work!
\fi
\advance\filecount by 1
\ifnum\filecount<5
\repeat

\section{The Main Table is incomplete}
\pgfplotstabletypeset[col sep=comma, string type]{\main}

\section{The last Temp-Table}
\pgfplotstabletypeset[col sep=comma, string type]{\temp}

\section{Input Test}
\input{data1.txt} \\
\input{data2.txt}\\
\input{data3.txt}\\
\input{data4.txt}
\end{document}

答え1

それは次のように同様に機能します:

\documentclass[a4paper]{article}
\usepackage{pgfplotstable}

\pgfplotstableset{string type}

\newcount\filecount
\newwrite\cisout
\begin{document}

\filecount=1
\def\aaa{\the\filecount}%
\loop
\immediate\openout\cisout=data\the\filecount.txt
\immediate\write\cisout{%
111, 222,  \aaa
}
\immediate\closeout\cisout
\ifnum\the\filecount=1 \pgfplotstableread[col sep=comma, string type]{data\the\filecount.txt}{\main}%
\else \pgfplotstableread[col sep=comma, string type]{data\the\filecount.txt}{\temp}%
\pgfplotstablevertcat{\main}{\temp}% <--- Does  work!
\fi%
\advance\filecount by 1
\ifnum\filecount<5
\repeat

\section{The Main Table is incomplete}
\pgfplotstabletypeset[col sep=comma, string type]{\main}

\section{The last Temp-Table}
\pgfplotstabletypeset[col sep=comma, string type]{\temp}

\section{Input Test}
\input{data1.txt} \\
\input{data2.txt}\\
\input{data3.txt}\\
\input{data4.txt}
\end{document}

関連情報