Verwenden Sie python3.8.0. TSC muss installiert sein. github( https://github.com/tableau/server-client-python ) PyPI( https://pypi.org/project/tableauserverclient/ )
pip install tableauserverclient
import tableauserverclient as TSC
Geben Sie die Konto- und Serverinformationen ein, die für Benutzername, Kennwort, Site-ID und Server-URL verwendet werden. Außerdem möchte ich die neueste Version verwenden, daher setze ich die Option user_server_version auf True.
tableau_auth = TSC.TableauAuth('username', 'password', 'siteid')
server = TSC.Server('serverurl', use_server_version=True)
Führen Sie den folgenden Code aus, um festzustellen, ob die Ansicht auf Ihrer Site vorhanden ist. Stellen Sie außerdem sicher, dass Sie "all_views" ausführen, da es später verwendet wird.
all_views, pagination_item = server.views.get()
print([view.name for view in all_views])
Wenn Sie die Ansicht im Dateiformat erhalten möchten: PDF, Größe: A4, Ausrichtung: Querformat, verwenden Sie den folgenden Code.
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:
#PDF-Bild erstellen
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 Sie können die Größe des PDFs angeben. Der Standardwert ist "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
Sie können die Ausrichtung der Seite festlegen. Der Standardwert ist "Porträt" (vertikal).
-Orientation.Portrait
: Vertikal
-Orientation.Landscape
: Horizontal
Sie können auch die vf
-Methode für diese Klasse verwenden, um die Ansicht zu filtern.
Zum Beispiel
# (optional) set a view filter
pdf_req_option.vf('Region', 'West')
Dann wird die Ansicht mit "Region", gefiltert nach "West", in PDF konvertiert.
Siehe auch: PDFRequestOptions-Klasse
Verwenden Sie den folgenden Code, um die Ansicht im Dateiformat zu erhalten: PNG und Ausrichtung: Querformat.
image_req_option = TSC.ImageRequestOptions(imageresolution=TSC.ImageRequestOptions.Resolution.High)
with server.auth.sign_in(tableau_auth):
for view_item in all_views:
#PNG-Bild generieren
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.
Es scheint, dass Sie die Auflösung mit Bildauflösung angeben können.
ImageRequestOptions(imageresolution=None)
imageresolution
Wenn nicht angegeben, ist die Ausgabe 784 Pixel breit, und wenn "Rresolution.High" (höchster Wert) wie oben angegeben ist, sind es 1568 Pixel (das Bild behält das Seitenverhältnis bei, sodass sich die vertikale Breite entsprechend der horizontalen Breite ändert. Machen).
Sie können die Ansicht auch im Bildformat filtern.
# (optional) set a view filter
image_req_option.vf('Category', 'Furniture')
Siehe auch: ImageRequestOptions-Klasse
# -*- 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
#Eingabe der Anmeldeinformationen
username= 'Eingang'
password= 'Eingang'
siteid = 'Eingang'
serverurl = 'Eingang'
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:
#PDF-Bild erstellen
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:
#PNG-Bild generieren
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)
Bitte beachten Sie, dass die Bilder und PDFs aller Ansichten auf dem Server in derselben Hierarchie wie das obige Skript ausgegeben werden. Bitte geben Sie die Ausgabedatei nach Ihren Wünschen an.
Tableau Server Client (Python) API reference Tableau REST API - API Reference—All Methods