• python下载tableau的数据表(视图View),并保存为CSV


    Tableau 提供了tableauserverclient包,可以通过Python对tableau进行一些基础的操作.

    通过Python下载tableau中的数据分析结果(view形式),具体如下:

    import tableauserverclient as TSC;
    import pandas as pd;
    
    ## 登录Tableau Server
    tableau_auth =TSC.TableauAuth('USER', 'PASSWORD') #用户名,密码
    server = TSC.Server('https://XXXX.com') #tableau服务器地址
    server.version = '3.7' 
    server.auth.sign_in(tableau_auth)
    
    request_options = TSC.RequestOptions(pagesize=1000)

    登录后,server.datasources(数据源)、server.users(用户)、server.project(项目)、server.workbooks(工作簿)、server.views(视图)可以处理对应目标。

    with server.auth.sign_in(tableau_auth):
            ##获取所有工作簿
            all_wk_items, pagination_item2 = server.workbooks.get(req_options=(request_options))
            for i in all_wk_items:
                if i.name == '订单汇总':  #想要下载的工作簿名称
                     wk = server.workbooks.get_by_id(i.id)  #得到想要下载的工作簿

    工作簿可能有多个视图组成,选择想要下载的视图

    for j in wk.views:
        if j.name == '汇总-食品’:                    #输入想要下载的视图
            file = server.views.get_by_id(j.id)  #得到想要下载的视图
            server.views.populate_csv(file)      #将想要下载的视图复制成CSV
            print('View_Name; ', j.name, ' Project_name:  ', i.project_name, 'Updated_time: ', str(j.updated_at)[0:19])
    
         with open('./view_data.csv', 'wb', encoding='utf-8') as f:
             f.write(b''.join(file.csv))  #写出成csv文档
                       
          break

    这样就可以得到view_data.csv文件了。

  • 相关阅读:
    LeetCode 654. 最大二叉树
    LeetCode 617. 合并二叉树
    LeetCode 234. 回文链表
    LeetCode 328. 奇偶链表
    LeetCode 24. 两两交换链表中的节点
    LeetCode 21. 合并两个有序链表
    LeetCode 876. 链表的中间结点
    顺序表的定义及其相关基本操作
    LeetCode 206. 反转链表
    LeetCode 111. 二叉树的最小深度
  • 原文地址:https://www.cnblogs.com/tonorth123/p/15885002.html
Copyright © 2020-2023  润新知