pgfplotstable: 2개 이상의 헤더 라인(예: 이름, 단위, 설명)이 있는 typset csv

pgfplotstable: 2개 이상의 헤더 라인(예: 이름, 단위, 설명)이 있는 typset csv

Origin에서 내보내고 다음과 같은 Data.csv를 얻습니다.

Short_Name1; Short_Name2
Long_Name1;  Long_Name2
Unit1;       Unit2
Comment1;    Comment2
1,1;         2,0
3,5;         4,3

pgfplotstable을 사용하여 인쇄하려고 하면 다음과 같은 작업을 수행해야 합니다.

%!TEX TS-program = lualatex
\documentclass[]{scrartcl}


%\usepackage{pgfplots}
\usepackage{
            pgfplotstable,
            booktabs,
            array,
            colortbl,
            }

\pgfplotsset{compat=1.12}

\begin{document}

\pgfplotstabletypeset[
    col sep=semicolon,
    read comma as period,
    fixed,
    zerofill,
%   string type,
    precision=2,
    ignore chars={\_},
   %dec sep align, %prints both strings in first column, aligned at the comma
%
    every head row/.style={
        before row={\toprule },
       after row={\midrule },
        },
    every last row/.style={
        after row=\bottomrule
        },
    every even row/.style={
        before row={\rowcolor[gray]{0.985}}}, %also a problem
%
    %every row 0/.style={string type}, %does not work
%    \directlua{    for i = 0, 2 do  %does also not work
%               for j= 0,1 do 
%                   tex.sprint( "every row ",i," column ",j,"\noexpand/.style={string type}, " ) 
%               end
%           end }
    every row 0 column 0/.style={string type},
    every row 0 column 1/.style={string type},
    every row 1 column 0/.style={string type},
    every row 1 column 1/.style={string type},
    every row 2 column 0/.style={string type},
    every row 2 column 1/.style={string type},
%
    every row 2/.style={
        after row={\midrule },
        },
]
    {Data.csv} 

%looks like it should as workaround, but is not processed properly
\directlua{     for i = 0, 2 do
            for j= 0,1 do 
                tex.sprint( "every row ",i," column ",j,"\noexpand/.style={string type}, " ) 
            end
        end }



\end{document}

더 편리한 방법이 있나요?

얻을 수 있다면 저도 기쁠 것 같아요

Long_Name1 [Unit1] 

하나의 헤더 줄로 사용하고 나머지 두 문자열 줄은 무시합니다. Origin을 통해 그 중 두 개만 내보내는 것은 문제가 되지 않습니다.

편집: 이미 시도했는데 every row no 0/.style={string type},오류가 발생했습니다.

header=false결과적으로 이름이 지정된 열이 생성되므로 0 1 2 3각 열 이름을 다음과 같이 지정해야 합니다.

columns/<index>/.style={
        string type,
        column type=l,
        column name={Long_Name [Unit]}
        },

EDIT2: header=false-"문제"는 이미 해결되었습니다.여기

그래서 처리를 해보려고 합니다

Long_Name1;  Long_Name2
Unit1;       Unit2
1,1;         2,0
3,5;         4,3

에게

Long_Name1 [\si{Unit1}];  Long_Name2 [\si{Unit2}]
1,1;         2,0
3,5;         4,3

lua를 사용하면(파이썬이 더 쉬울 것입니다…) 생성할 코드조차 every row 0 column 0/.style={string type}, 작동하지 않았습니다(그리고 pgfplotstable 외부에서 실행될 때 확실히 해당 줄을 인쇄합니다).

나는 그것이 일반적인 작업 흐름임에 틀림없으며 이미 간단한 해결책이 있을 것이라고 생각했습니다…

관련 정보