Проблема с правилами при отображении CSV-файла в табличном виде

Проблема с правилами при отображении CSV-файла в табличном виде

Я пытаюсь отобразить значения из CSV-файла внутри таблицы. Для этого я использую макрос \csvreader. Я хотел бы, чтобы таблица выглядела так :

желаемый результат

с a toprule, заголовком столбцов, a midrule, значениями без линии и a bottomrule.

Вот код, который я сделал

\begin{tabular}{*{4}{c}}%
    \toprule
    \textbf{Mesh} & $h$ & \textbf{nDof $\P_1$} & \textbf{nDof $\P_2$}\\
    \midrule
    \csvreader[head to column names]{fig/meshInformation3D.csv}{}
    {\texttt{\mesh} & \pgfmathprintnumber{\hAvg} & \pgfmathprintnumber{\nDofPUn} & \pgfmathprintnumber{\nDofPDeux}\\}
    \\\bottomrule
\end{tabular}

Для каждой строки я отображаю информацию из строки csv, затем вставляю \\. С этим кодом я получаю следующий результат

результат

с дополнительной пустой строкой. Я пробовал удалить \\перед \bottomrule, но это привело к ошибке Misclaced \noalign. \bottomrule->\noalign.

Как мне удалить эту лишнюю строку?

решение1

Использование опции late after line=\\решает эту проблему:

\documentclass{article}
\usepackage{pgf}
\usepackage{amssymb}
\usepackage{csvsimple}
\usepackage{booktabs}

\begin{filecontents}[noheader]{mylist.csv}
mesh, hAvg, nDofPUn, nDofPDeux 
M0  , 0.86, 47384  , 327000    
M1  , 0.74, 68993  , 473000    
\end{filecontents}

\begin{document}
\begin{tabular}{*{4}{c}}%
    \toprule
    \textbf{Mesh} & $h$ & \textbf{nDof $\mathbb{P}_1$} & \textbf{nDof $\mathbb{P}_2$} \\
    \midrule
    \csvreader[head to column names, late after line=\\]{mylist.csv}{}{
        \texttt{\mesh} & 
        \pgfmathprintnumber{\hAvg} & 
        \pgfmathprintnumber{\nDofPUn} & 
        \pgfmathprintnumber{\nDofPDeux}
    }
    \bottomrule
\end{tabular}
\end{document}

введите описание изображения здесь

Связанный контент