Menu

Python : ne pas afficher les résultats mais directement dans le .csv [Résolu]

Messages postés
278
Date d'inscription
mardi 1 juillet 2008
Statut
Membre
Dernière intervention
17 avril 2019
-
Bonjour,

Je cherche la formule Python 3 me permettant que des éléments scrapés ne se listent pas à la suite dans le terminal IDLE mais qu'ils s'enregistrent directement en csv. J'ai réussi à enregistrer ces éléments en .csv mais qu'à la fin du processus d'affichage de chaque élément dans le terminal - ce qui prend beaucoup de temps lorsqu'il y en a beaucoup.

Des solutions ? :)

Merci d'avance

Configuration: 
Python 3.7.3
Macbook Pro Retina 13" mi-2014


Afficher la suite 

Votre réponse

2 réponses

Meilleure réponse
Messages postés
271
Date d'inscription
vendredi 25 septembre 2015
Statut
Membre
Dernière intervention
20 avril 2019
86
2
Merci
Bonjour,
la syntaxe
twint -u username
ne doit pas être utilisée dans la console Python. Essayez la même chose dans un terminal si vous utilisez Linux ou une invite de commande si vous utilisez Windows.
Si vous souhaitez utiliser twint dans un code Python, il faudra faire
import twint
, puis regarder la documentation pour savoir comment utiliser ce module.

Dire « Merci » 2

Heureux de vous avoir aidé ! Vous nous appréciez ? Donnez votre avis sur nous ! Evaluez CommentCaMarche

CCM 40432 internautes nous ont dit merci ce mois-ci

Commenter la réponse de quent217
Messages postés
271
Date d'inscription
vendredi 25 septembre 2015
Statut
Membre
Dernière intervention
20 avril 2019
86
2
Merci
Bonjour,
apparement vous avez modifié votre question le temps que j'écrive ma première réponse ^^ Par contre dans votre nouvelle question, on ne voit plus que vous parlez du module twint (ce qui est toujours le cas j'imagine).

Dans la documentation il est écrit :
"
twint -u username -o file.csv --csv
- Scrape Tweets and save as a csv file."
Et je viens de tester, les éléments sont enregistrés régulièrement, vous n'avez pas besoins d'attendre la fin de l'execution pour voir les premières lignes. (La même chose peut-être faite en code Python)

Dire « Merci » 2

Heureux de vous avoir aidé ! Vous nous appréciez ? Donnez votre avis sur nous ! Evaluez CommentCaMarche

CCM 40432 internautes nous ont dit merci ce mois-ci

nik029
Messages postés
278
Date d'inscription
mardi 1 juillet 2008
Statut
Membre
Dernière intervention
17 avril 2019
26 -
Effectivement ça enregistre. Le problème c'est que tous les tweets s'affichent à la suite dans le terminal. Pour des comptes comptant des milliers de tweets, ça fait beaucoup. Je cherchais donc un code Python permettant d'enregistrer effectivement en .csv sans avoir besoin que tous les tweets s'affichent dans le terminal
quent217
Messages postés
271
Date d'inscription
vendredi 25 septembre 2015
Statut
Membre
Dernière intervention
20 avril 2019
86 -
J'ai l'impression que twint ne donne pas la possibilité de supprimer l'affichage.
Cependant vous pouvez quand même redirigé la sortie pour qu'elle n'apparaisse plus, mais cela aura pour effet de supprimer la totalité de la sortie, y compris vos propre print.
Vous pouvez le faire dans le terminal sous Linux en faisant
commande > /dev/null
(je ne connais pas l'équivalent de /dev/null sous Windows).
Vous pouvez aussi le faire dans votre programme Python de cette manière
import sys
sys.stdout = None

# Suite du programme


Est-ce que j'ai répondu à votre question cette fois ? :)
nik029
Messages postés
278
Date d'inscription
mardi 1 juillet 2008
Statut
Membre
Dernière intervention
17 avril 2019
26 -
Oui, merci :)
Commenter la réponse de quent217