Автоматически форматировать табличную ячейку из CSV-файла

Автоматически форматировать табличную ячейку из CSV-файла

Я попытался адаптировать примеры из5.4 Таблицы с форматированием чиселиз csvsimpleпакета, но безуспешно.

Каждая строка в моем csvфайле имеет 20 полей,все ониимеет формат как x.xxxxxx. Вот первая строка:

0.500000,0.614231,0.567667,0.580000,0.787222,0.510333,0.797333,0.732000,0.851228,0.804333,0.764000,0.730667,0.879667,0.778667,0.858333,0.726333,0.884000,0.772667,0.959545,0.919667

Я хотел бы создать таблицу для печати данных, ноусеченный, то есть вывести только 3 знака после запятой, например x.xxx.

Я знаю, что \csvloop{}есть ключ tabular={}для указания формата (как tabular={lSS[table-format=2.2e1]}в примере, приведенном выше).

  1. Так как моя таблица должна иметь 20 столбцов, возможно лиформатировать все автоматически?

  2. Какой должен быть формат? S[table-format=1.3]?

МВЭ

Код ниже выдает ошибкуYou can't use a prefix with \hskip.}

\documentclass{report}
\usepackage{filecontents}
\usepackage{csvsimple}
\usepackage{siunitx}
\usepackage{array}
\begin{document}
\begin{filecontents*}{tab2.csv}
0.500000,0.614231,0.567667,0.580000,0.787222,0.510333,0.797333,0.732000,0.851228,0.804333,0.764000,0.730667,0.879667,0.778667,0.858333,0.726333,0.884000,0.772667,0.959545,0.919667
0.000000,0.500000,0.867308,0.891667,0.763889,0.694872,0.785256,0.729647,0.844298,0.797917,0.709455,0.675641,0.876282,0.741667,0.851442,0.710256,0.880128,0.694872,0.949519,0.912500
\end{filecontents*}
%
\csvloop{
file=tab2.csv,
tabular=*{20}{S[table-format=1.3,round-mode=places,round-precision=3]},
}
\end{document}

решение1

\documentclass{article}

\usepackage{csvsimple}
\usepackage{siunitx}

\usepackage{filecontents}
\begin{filecontents*}{BC14.csv}
0.500000,0.614231,0.567667,0.580000,0.787222,0.510333,0.797333,0.732000,0.851228,0.804333,0.764000,0.730667,0.879667,0.778667,0.858333,0.726333,0.884000,0.772667,0.959545,0.919667
0.000000,0.500000,0.867308,0.891667,0.763889,0.694872,0.785256,0.729647,0.844298,0.797917,0.709455,0.675641,0.876282,0.741667,0.851442,0.710256,0.880128,0.694872,0.949519,0.912500
\end{filecontents*}

\setlength{\tabcolsep}{1pt}

\begin{document}

{
\footnotesize
\csvreader[%
    no head,
  before reading=\sisetup{table-format=1.3,round-mode=places,round-precision=3},
  tabular={c@{} *{20}{S}},
]{BC14.csv}{}{%
& \csvcoli & \csvcolii & \csvcoliii & \csvcoliv & \csvcolv & \csvcolvi  & \csvcolvii & \csvcolviii & \csvcolix & \csvcolx & \csvcolxi & \csvcolxii & \csvcolxiii & \csvcolxiv & \csvcolxv & \csvcolxvi & \csvcolxvii & \csvcolxviii & \csvcolxix & \csvcolxx
} 
}

\end{document}

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

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