
Я использую WinEdt 9.0, MikTex 2.9 на Windows 7 Pro.
Я создаю стандартный формат отчета PDF и должен следовать этому формату (т. е. таблица в определенном формате с цветами и шрифтами и т. д. и т. п.). Для ясности, макет таблицы сложный и предопределенный. Все, что мне нужно сделать, это добавить точки данных.
Формат требует заполнения больших таблиц точками данных с плавающей точкой, которые хранятся в CSV-файле на моем ПК. Кажется, есть несколько способов сделать это, но я не уверен, какой из них самый простой. В идеале я хотел бы иметь возможность «индексировать» myFile.txt, например, x= load(myFile.txt), val1 = x(3,17); и т. д.
Как присвоить значения из «myFile.txt» моим переменным val1, val2, val3, val4?
мой MWE ниже. Спасибо!
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{caption}
\usepackage{float}
\usepackage{xspace}
\usepackage{verbatim}
\usepackage{array}
\usepackage{multirow}
\usepackage{hhline}
\usepackage{ifthen}
%http://www.tug.org/texmf-dist/doc/latex/pgfplots/pgfplotstable.pdf
\newread\file
\openin\file=A:/myReports/latestResults/myFile.txt
\loop\unless\ifeof\file
\read\file to\fileline % Reads a line of the file into \fileline
% Do something with \fileline
\repeat
\closein\file
\begin{tabular}{|c|c|c|}
\hline
t1 & t2 & t3 \\
y1 & val1 & val4 \\
y2 & val2 & val3 \\
\hline
\end{tabular}
\end{document}
решение1
Самый простой вариант — использовать knitr
:
\documentclass[twocolumn]{article}
\usepackage{booktabs}
\parskip1em\parindent0pt
\begin{document}
The CSV file:
<<echo=F,comment=NA>>=
Val <- read.csv("values.csv",header=T)
val <- Val$Values ## just to simplify the \Sexpr
Val
@
The \LaTeX\ table:\par
\begin{tabular}{ccc}\toprule
t1 & t2 & t3 \\\midrule
y1 & \Sexpr{val[1]} & \Sexpr{val[4]} \\
y2 & \Sexpr{val[2]} & \Sexpr{val[3]} \\
\bottomrule
\end{tabular}
\end{document}