Je cherche un code simple basé sur le package datatool pour filtrer des lignes d'un petit fichier .csv tel que :

Ouvrir dans l'éditeur Overleaf
word;phonetic;grammar;label;level;translation;sound
give up;/ɡɪv ʌp/;phrasal verb;[I or T];TODO;abondonner;TODO
blow up;/bləʊ ʌp/;phrasal verb;[I/T];TODO;(faire) sauter;TODO
put off;/pʊt ɒf/;phrasal verb;[+ -ing verb];B1;repousser, dégoûter;TODO
...
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Actuellement, j'utilise une boucle qui parcourt chaque ligne filtrée par une condition :

Ouvrir dans l'éditeur Overleaf
\DTLforeach*[\equal{\word}{blow up} \or \equal{\word}{put off}]{entries}% database label
{\word=word, \phonetic=phonetic,
\grammar=grammar, \label=label,\level=level,
\translation=translation}% assignment
{% Stuff to do at each iteration:
\begin{dicEntry}{\word}
\dicNature{\grammar}\space
\dicPhonologySimple{\phonetic}\space
{\small\level}\space
\label\space
\dicTranslation{} \translation
\end{dicEntry} \\
}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

J'obtiens le résultat suivant :

Ouvrir dans l'éditeur Overleaf
blow up = phrasal verb • /bləʊ ʌp/ TODO [I/T] Trad. (faire) sauter
put off = phrasal verb • /pʊt ɒf/ B1 [+ -ing verb] Trad. repousser, dégoûter
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Alors, ça fonctionne me feriez-vous remarquer !

Oui, mais je dois appliquer mon code à de nombreuses reprises et parfois pour de longues listes de mots.

Je n'arrive pas à trouver comment écrire une fonction simple avec datatool. Quelqu'un pourrait-il m'expliquer ? Ou m'indiquer un bon tutoriel ?

Posée 09 Mai '20, 02:50

polymorphisme's gravatar image

polymorphisme
592925
Taux d'acceptation : 50%

Modifiée 17 Mai '20, 17:54

Pathe's gravatar image

Pathe ♦♦
7.6k49208252

1

Si j'ai bien compris, vous pouvez définir une commande

\newcommand{\filtrer}[1]{% \DTLforeach*[\DTLisinlist{\word}{#1}]{entries}{\word=word,...}{...}}, à utiliser \filtrer{blow up,give up}.

(10 Mai '20, 02:00) touhami touhami's gravatar image
1

Oui c'est ça. Et j'ai fini par trouver la réponse que j'indique dans le message suivant.

(17 Mai '20, 16:28) polymorphisme polymorphisme's gravatar image

J'ai fini par trouver un élément de réponse :

Ouvrir dans l'éditeur Overleaf
\DTLassign{entries}{3}{\word=word,\translation=translation}
Here's the information: word: \word. translation: \translation.
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Ensuite, il suffit d'appliquer la fonction DTLassign à une liste de mots. :)

Lien permanent

Publiée 17 Mai '20, 16:31

polymorphisme's gravatar image

polymorphisme
592925
Taux d'acceptation : 50%

Modifiée 22 Mai '20, 13:00

Votre réponse
[Masquer l'aperçu]

Suivre cette question

Par courriel :

Une fois que vous serez enregistré, vous pourrez souscrire à n'importe quelle mise à jour ici

Par flux RSS :

Réponses

Réponses et commentaires

Mots-clés de la question :

×4
×1

Question posée : 09 Mai '20, 02:50

Question vue : 3,819 fois

Dernière mise à jour : 22 Mai '20, 13:00

C'est votre première visite ici ? Consultez la FAQ !

×