7
votes

Exportez directement les données de Python vers Tableau

J'ai un code python qui exporte des données dans un csv, puis je charge ce csv dans Tableau. Je ne veux pas charger un csv dans tableau.

Y a-t-il un moyen de simplement prendre la valeur return de mon script python et de la mettre directement dans tableau?

La question est similaire à Exporter des données de Python dans Tableau à l'aide de JSON? , mais ils se renseignent sur le format Json et la réponse était d'utiliser csv. Je veux sauter l'étape csv si possible. Les données que je renvoie seront dans un format tabulaire.


2 commentaires

Pourquoi veux-tu ça? CSV est le format d'échange de données tabulaires, simple, compact, texte uniquement et accessible depuis presque n'importe quel langage ou logiciel. Quel autre format voudriez-vous utiliser?


Je veux sauter l'étape intermédiaire de l'écriture en csv, puis demander à tableau de le charger. Je ne le veux pas dans un autre format, désolé n'était pas clair. Je veux juste une connexion directe de python à tableau.


3 Réponses :


2
votes

Assurez-vous que votre extrait Tableau actuel est une «source de données Tableau», puis utilisez «l'utilitaire de ligne de commande d'extraction de données Tableau» pour pousser les données dans Tableau. Vous utilisez os.system ou sous-processus pour appeler l'exécutable tableau. Une mise en garde est que cette chose ne fonctionne que sous Windows.

https : //onlinehelp.tableau.com/current/pro/desktop/en-us/extracting_TDE.htm

Chargement d'un exemple de fichier csv depuis le site Tableau:

C:\Program Files\Tableau\Tableau 2019.1\bin>tableau addfiletoextract --server https://our_server_name --username OurServerSignIn --password "OurServerPwd" --project "New Animations" --datasource "CurrentYrOverYrStats" --file "C:\Users\user1\Documents\DataUploadFiles\AprMay.csv"


3 commentaires

Salut, je ne veux pas charger un csv, je veux charger directement des données python.


Si vous utilisez Tableau Server, vous feriez mieux de pousser les données vers Google Sheets avec Python et l'API Sheets, puis d'utiliser Tableau pour référencer cette feuille en tant que source de données.


ah, im justing using tableau workbook. Il n'y a aucun moyen de prendre un fichier d'entrée de python dans tableau?



3
votes

2 commentaires

Merci Daniel, donc TabPy me permettrait de créer des scripts sous forme de champs calculés mais je devrais également utiliser un magasin de données? Je vais devoir en savoir plus sur TabPy. Je pense juste faire le truc csv, je voulais vraiment sauter cette étape du milieu, mais si c'est plus facile, peut-être que c'est mieux.


Je n'ai pas essayé d'utiliser TabPy sans données préexistantes dans le classeur Tableau. Il est généralement utilisé pour appeler un script à l'aide de champs dans Tableau - lorsqu'un utilisateur souhaite faire des choses que Tableau ne peut pas faire de manière native. (Pensez que K signifie clustering ou corrélation.) Il est théoriquement possible qu'il puisse renvoyer des données à Tableau sans avoir de données préexistantes, mais oui, cela vaut la peine d'être examiné. (À titre d'exemple, mes scripts Python sortent directement au format CSV dans AWS S3, qui est ensuite lu par AWS Athena via Tableau. C'est très efficace, mais quelque peu encombrant si vous cherchez simplement quelque chose de rapide.)



1
votes

L'une des options existantes de l'écran "Connecter" de Tableau Desktop est "Web Data Connector", qui peut se connecter à tout type de serveur Web et obtenir des données via un protocole bien documenté . Je soupçonne que cela inclurait un serveur Web fonctionnant sur localhost écrit en Python . < / p>

Si vous voulez suivre cette voie, il faudrait soit changer votre script Python existant pour le transformer en un serveur Web qui transmet la sortie du script via la connexion de données Web, soit (de préférence) créer un code Python très général qui pourrait qui pourrait envelopper un script arbitraire de n'importe quel type de cette manière, exposant sa sortie en tant que connexion de données Web.

Vous devrez bien sûr laisser ce script Python en cours d'exécution, en écoutant les connexions de Tableau.


1 commentaires

je pense que c'est au-dessus de mon savoir-faire technique! mais merci!