Utilisez python3.8.0. TSC doit être installé. github( https://github.com/tableau/server-client-python ) PyPI( https://pypi.org/project/tableauserverclient/ )
pip install tableauserverclient
import tableauserverclient as TSC
Entrez les informations de compte et de serveur utilisées pour le nom d'utilisateur, le mot de passe, l'ID de site et l'URL du serveur. De plus, je souhaite utiliser la dernière version, j'ai donc défini l'option user_server_version sur True.
tableau_auth = TSC.TableauAuth('username', 'password', 'siteid')
server = TSC.Server('serverurl', use_server_version=True)
Exécutez le code suivant pour voir si la vue existe sur votre site. Assurez-vous également d'exécuter ʻall_views` car il sera utilisé plus tard.
all_views, pagination_item = server.views.get()
print([view.name for view in all_views])
Si vous souhaitez obtenir la vue au format de fichier: pdf, taille: A4, orientation: paysage, utilisez le code suivant.
pdf_req_option = TSC.PDFRequestOptions(page_type=TSC.PDFRequestOptions.PageType.A4,
orientation=TSC.PDFRequestOptions.Orientation.Landscape)
with server.auth.sign_in(tableau_auth):
for view_item in all_views:
#Générer une image PDF
server.views.populate_pdf(view_item, req_options=pdf_req_option)
with open(f'{view_item.name}.pdf', 'wb') as f:
f.write(view_item.pdf)
PDFRequestOptions
Use this class to specify the format of the PDF that is returned for the view. See views.populate_pdf.
PDFRequestOptions(page_type=None, orientation=None)
page_type Vous pouvez spécifier la taille du pdf. La valeur par défaut est «Legal».
-PageType.A3
-PageType.A4
-PageType.A5
-PageType.B5
-PageType.Executive
-PageType.Folio
-PageType.Ledger
-PageType.Legal
-PageType.Letter
-PageType.Note
-PageType.Quarto
-PageType.Tabloid
orientation
Vous pouvez spécifier l'orientation de la page. La valeur par défaut est «Portrait» (vertical).
-ʻOrientation.Portrait: Vertical -ʻOrientation.Paysage
: Horizontal
Vous pouvez également utiliser la méthode vf
sur cette classe pour filtrer la vue.
Par exemple
# (optional) set a view filter
pdf_req_option.vf('Region', 'West')
Ensuite, la vue avec «Région» filtrée sur «Ouest» sera convertie en pdf.
Voir aussi: classe PDFRequestOptions
Pour obtenir la vue au format de fichier: png et orientation: paysage, utilisez le code suivant.
image_req_option = TSC.ImageRequestOptions(imageresolution=TSC.ImageRequestOptions.Resolution.High)
with server.auth.sign_in(tableau_auth):
for view_item in all_views:
#Générer une image png
server.views.populate_image(view_item, req_options=image_req_option)
with open(f'{view_item.name}.png', 'wb') as f:
f.write(view_item.image)
ImageRequestOptions
Use this class to specify the resolution of the view returned as an image. You can also use this class to specify view filters to be applied when the image is generated. See views.populate_image.
Il semble que vous puissiez spécifier la résolution avec la résolution de l'image.
ImageRequestOptions(imageresolution=None)
imageresolution
Si non spécifié, la sortie aura une largeur de 784 pixels, et si vous spécifiez Rresolution.High
(valeur la plus élevée) comme ci-dessus, elle sera de 1568 pixels (l'image conservera le rapport hauteur / largeur, donc la largeur verticale changera en fonction de la largeur horizontale. Faire).
Vous pouvez également filtrer la vue au format image.
# (optional) set a view filter
image_req_option.vf('Category', 'Furniture')
Voir aussi: Classe ImageRequestOptions
# -*- coding: utf-8 -*-
# Python 3.8.0 (tags/v3.8.0:fa919fd, Oct 14 2019, 19:21:23) [MSC v.1916 32 bit (Intel)] on win32
import tableauserverclient as TSC
#Entrée des informations d'identification
username= 'contribution'
password= 'contribution'
siteid = 'contribution'
serverurl = 'contribution'
tableau_auth = TSC.TableauAuth(username, password, siteid)
server = TSC.Server(serverurl, use_server_version=True)
with server.auth.sign_in(tableau_auth):
all_views, pagination_item = server.views.get()
pdf_req_option = TSC.PDFRequestOptions(page_type=TSC.PDFRequestOptions.PageType.A4,
orientation=TSC.PDFRequestOptions.Orientation.Landscape)
with server.auth.sign_in(tableau_auth):
for view_item in all_views:
#Générer une image PDF
server.views.populate_pdf(view_item, req_options=pdf_req_option)
with open(f'{view_item.name}.pdf', 'wb') as f:
f.write(view_item.pdf)
image_req_option = TSC.ImageRequestOptions(imageresolution=TSC.ImageRequestOptions.Resolution.High)
with server.auth.sign_in(tableau_auth):
for view_item in all_views:
#Générer une image png
server.views.populate_image(view_item, req_options=image_req_option)
with open(f'{view_item.name}.png', 'wb') as f:
f.write(view_item.image)
Veuillez noter que les images et les fichiers PDF de toutes les vues sur le serveur sont affichés dans la même hiérarchie que le script ci-dessus. Veuillez spécifier le fichier de sortie comme vous le souhaitez.
Tableau Server Client (Python) API reference Tableau REST API - API Reference—All Methods