Forums » Using AMC (english) »
How to insert data extracted from a csv file?
Added by Marcos Vinicius over 8 years ago
I would like to insert data extracted from an externally loaded table (csv, ods, xls, etc). For example, exam number 1 uses the first line of the file, exam 2 uses the second line, and so on. Is it possible to do this with automultiplechoice?
Replies (4)
RE: How to insert data extracted from a csv file?
-
Added by Alexis Bienvenüe over 8 years ago
Maybe have a look at documentation, section 7.1: nominative sheets?
RE: How to insert data extracted from a csv file?
-
Added by Marcos Vinicius over 8 years ago
Yes, I have already done that. My question is, for example:
I use a "student.csv" file like that:
name,forename,id
Boulix,Jojo,001
Golin,André,002
Moniuszko,Stanisław,003
and a separate data file (data.csv) like that:var1,var2,var3,var4
1,2,3,4
5,6,7,8
9,10,11,12
I want associate the first line of the data file with the first student and so on without putting the data variables as columns of student.csv.
RE: How to insert data extracted from a csv file?
-
Added by Frédéric Bréal over 8 years ago
I tried with the datatool package.
\DTLgetvalue{\command}{database}{row number}{column number}
\documentclass[12pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{datatool,csvsimple} %
\usepackage[bloc,outsidebox]{automultiplechoice}
%pour obtenir le numéro du sujet
\makeatletter
\def\Nsujet{\the\AMCid@etud}
\makeatother
\renewcommand{\AMCsubjectPageTag}{\Nsujet}
%%%§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§
\newcommand{\sujet}{
\onecopy{1}{ %
%%%%%%%%%%%%%%%%%En tête de la copie %%%%%%%%%%%%%%%%
\noindent{}\champnom{\fbox{
\begin{minipage}{0.97\linewidth}
{\Large\bf\nom{}~\prenom{}} \hfill\null
\vspace*{1mm}
\end{minipage}
}}\medskip%
%aller à la ligne n° i qui correspond au numéro du sujet
\begin{question}{A}
\DTLgetvalue{\Var1}{data}{\Nsujet}{1}
What is the next number following \Var1 ?
\AMCOpen{lines=1}{\mauvaise[0.25]{0,25}\bareme{0.25}\mauvaise[0.50]{0,5}\bareme{0.5}\mauvaise[0.75]{0,75}\bareme{0.75}\bonne[1]{1}\bareme{1}}
\end{question}
\DTLgetvalue{\Var1}{data}{\Nsujet}{1}
\begin{question}{\Var1}
What is the next number following \Var1 ?
\AMCOpen{lines=1}{\mauvaise[0.25]{0,25}\bareme{0.25}\mauvaise[0.50]{0,5}\bareme{0.5}\mauvaise[0.75]{0,75}\bareme{0.75}\bonne[1]{1}\bareme{1}}
\end{question}
\AMCassociation{\identifiant}
}
}
%%%%§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§
\begin{document}
\DTLloaddb{data}{data.csv}
\csvreader[head to column names]{/home/moi/Projets-QCM/divers/listetest.csv}{}{\sujet}
\end{document}
RE: How to insert data extracted from a csv file?
-
Added by Marcos Vinicius over 8 years ago
This is exactly what I wanted, thank you!
(1-4/4)