ecrire dans un csv

Added by DENIS Sébastien about 4 years ago

bonsoir
y a t'il un moyen d'ecrire dans un csv à partir de latex?
D'avance merci


Replies (8)

RE: ecrire dans un csv - Added by Frédéric Bréal about 4 years ago

Pour créer un fichier csv, il y a filecontent et sinon pour écrire c'est datatool mais je trouve la documentation incompréhensible à cause de mon anglais, du langage LaTeX et des exemples assez peu explicites.
Si c'est pour essayer de répondre à votre précédente question https://project.auto-multiple-choice.net/boards/4/topics/9362 je ne sais pas si ça peut fonctionner.
Sinon, j'avais trouvé ça sur le forum d'aide au latex

   \documentclass[french,a4paper,12pt]{article}
 \usepackage{multido}
 \usepackage{babel}
 \newcommand{\Macro}[1]{Appel de la macro avec l'argument #1}

 \begin{document}

 Test...

%  On crée le fichier Fichier.txt ouvert en écriture
 \newwrite\Fichier
 \immediate\openout\Fichier=Fichier.txt

 % On peut ensuite écrire dessus
 \immediate\write\Fichier{Blabla}
 \immediate\write\Fichier{Blabla}
 \immediate\write\Fichier{Blabla}
 \immediate\write\Fichier{Blabla}
 \multido{\i=0+1}{15}
 { %
 \immediate\write\Fichier{\Macro{\i}}
 \immediate\write\Fichier{\Macro{toto}}
 }%

 \end{document}

RE: ecrire dans un csv - Added by DENIS Sébastien about 4 years ago

C'est tout a fait incompréhensible ce datatool.
J'y ai passé ma journée hier mais j'ai pas trop avancé....
effectivement c'est pour créer des variables dynamiques
en fait je veux créer la liste de compétences dans un csv... Il y a pas mal de collègues qui sont intéressés, Je n'ai pas envie de me recopier les compétences d'anglais de français etc...
mais je crois car par perl.... je vais essayer cependant d'en mettre un bout dans un csv
ps: je vous jons mon dernier fichier tex sur les compétences. J'ai bcp simplifié la commande compétences
j'ai fait trois commandes
\compétences à mettre juste après une question indicative (donc avec n de question affiché (il faut mettre true dans \compétence{lescompétences}{le label}{true} pour appeler \leLabel). Les compétences séparées par une virgule se nomment désormais 4Xinv-1 par exemple, 4 étant le coefficient donné à cette compétence pour cette question)
\questionEnTEte uen question qui affiche le numéro de question (dans laquelle j'appelle toutes les compétences dans les sous-questions afin de référencer les dites compétences dans le tableau de compétences en fin de sujet.
\leLabel qui référence les compétences dans le tableau. Si dans une sous-question il y a une question ouverte, il faut mettre \compétence{lescompétences}{le label}{false} pour ne pas appeler \leLabel dans la question ouvert (\leLabel est appellé dans la questionENTete
Je mets de côté ce fichier csv pour me consacrer a luluatex que vous m'avez conseillé.

Une question: est-ce que vous savez si les DANE des académies savent faire du dual boot sur leur PC tout en étant "mis au domaine" dans les deux cas?
merci pour vos infos

groupes.tex (52.5 kB)

RE: ecrire dans un csv - Added by DENIS Sébastien about 4 years ago

En fait mon gros soucis avec datatool c'est de ne modifier une seule case dans une colonne et pas toute la colonne.. pour l'instant je n'arrive que à récuperer le numéro de la ligne qui contient une compétence que je veux appeler dans latex. C'est après que ça se corse

RE: ecrire dans un csv - Added by DENIS Sébastien about 4 years ago

je me suis trompé avec la commande \competences... j'ai copié et adapté votre modèle baremeOuverte qui est ... trop bien!!
Un exemple: \Competences[competence=3XInv-1, textdebut={Explique les intérêts que l'homme a d'économiser l'énergie.}, label=Conversion7, EnTete=false]{lines=4, dots=true, framerulecol=gray}
encore une nouvelle fois merci de publier vos trouvailles
Cordialement

RE: ecrire dans un csv - Added by Frédéric Bréal about 4 years ago

Je n'ai pas envie de me recopier les compétences d'anglais de français etc...

un petit pdftotxt sur le fichier pdf des autres compétences pour les extraire

Je n'ai pas eu le temps de regarder vos sujets/proposition. Je suis débordé.
Dès que j'ai du temps, je refais mon fichier du wiki avec listofitem

francais (1.7 kB)

francais.pdf (86.3 kB)

RE: ecrire dans un csv - Added by DENIS Sébastien about 4 years ago

Bonne idée
merci

RE: ecrire dans un csv - Added by DENIS Sébastien about 4 years ago

[Liquid Syntax Error] Tag '{%' was not properly terminated with regexp: /\%\}/
J'ai modifié votre commande bareme ouverte comme suit Comme ca lorsque je choisis 6 cases il en met 6 en incluant celle du score max Bone soirée et encore merci \newcommand{\baremeOuverte}[2][1]{ \pgfkeys{/baremeOpen/.cd,% choices/.store in=\choicesKey,% Nombre cases choices=2,% total/.store in=\totalKey,% Score total (coefficient) total=1,% competence/.store in=\competenceKey,% Texte zone à cocher competence=\emph{Réservé},% label/.store in=\labelKey,% Texte zone à cocher label=enAttente,% textRes/.store in=\textResKey,% textRes=\iconRes }% \pgfkeys{/baremeOpen/.cd,#1}% %\leLabel{\competenceKey}{\labelKey}% \bareme{ e=0,% incohérence (2 réponses cochées) v=0,% absence de réponse cochée MAX=\totalKey,% Nombre de points de la question default.POINT=0,% Pas de case cochée 0 pt formula=(\totalKey *POINT/N)% La ième case cochée rapporte (i-1)/(n-1) avec }% \pgfmathsetmacro{\fin}{\choicesKey - 1} \def\AMCotextReserved{\small\textbf{\textResKey}} \AMCboxStyle{shape=square} \AMCdontAnnotate% \AMCOpen{#2, backgroundcol=\competenceKey, annotate=false, framerulecol=gray}{ \competenceKey~~ \foreach \i in {1,...,\fin}% {% \mauvaise{\i}\bareme{set.POINT=\i}% }% \bonne{\choicesKey}\bareme{set.POINT=\choicesKey}% \hspace{-.1cm} }% }

RE: ecrire dans un csv - Added by DENIS Sébastien about 4 years ago

[Liquid Syntax Error] Tag '{%' was not properly terminated with regexp: /\%\}/
<pre> \newcommand{\baremeOuverte}[2][1]{ \pgfkeys{/baremeOpen/.cd,% choices/.store in=\choicesKey,% Nombre cases choices=2,% total/.store in=\totalKey,% Score total (coefficient) total=1,% competence/.store in=\competenceKey,% Texte zone à cocher competence=\emph{Réservé},% label/.store in=\labelKey,% Texte zone à cocher label=enAttente,% textRes/.store in=\textResKey,% textRes=\iconRes }% \pgfkeys{/baremeOpen/.cd,#1}% %\leLabel{\competenceKey}{\labelKey}% \bareme{ e=0,% incohérence (2 réponses cochées) v=0,% absence de réponse cochée MAX=\totalKey,% Nombre de points de la question default.POINT=0,% Pas de case cochée 0 pt formula=(\totalKey *POINT/N)% La ième case cochée rapporte (i-1)/(n-1) avec }% \pgfmathsetmacro{\fin}{\choicesKey - 1} \def\AMCotextReserved{\small\textbf{\textResKey}} \AMCboxStyle{shape=square} \AMCdontAnnotate% \AMCOpen{#2, backgroundcol=\competenceKey, annotate=false, framerulecol=gray}{ \competenceKey~~ \foreach \i in {1,...,\fin}% {% \mauvaise{\i}\bareme{set.POINT=\i}% }% \bonne{\choicesKey}\bareme{set.POINT=\choicesKey}% \hspace{-.1cm} }% } </pre> Je suis en train de réfléchir à votre idée avec listofitem et effectivement c'est beaucoup mieux que mon idée (pourrie...) d'aller les chercher dans un csv je m'y attelle dès ce soir cordialement

(1-8/8)