Quantcast
Channel: AFPy's Planet
Viewing all articles
Browse latest Browse all 3409

TCD avec pyhton

$
0
0

Bonjour à tous et à toutes !

Je suis nouvelle sur python et j’aurais besoin de votre aide svp.

Je travaille avec un fichier Google Sheet qui est renouvelé chaque semaine. Je le récupère automatiquement avec son id (qui change chaque semaine) via un drive, je fais qq traitements en back avec un dataframe, puis je l’ajoute dans un nouveau google Sheet. Jusqu’ici aucun problème.
Sur ce nouveau book, j’ai des TCD (tableaux croisés dynamiques) à réaliser, 1 par feuille. Mes TCD sont créées et fonctionnels (voir ci-dessous le schéma pour un).
Ce que j’aimerais est qu’ils se réalisent automatiquement car pour l’instant je créée une feuille et récupère son ID à la main puis l’ajoute dans la partie du code où sera créé le TCD.

Auriez-vous une idée de comment récupérer un id d’une feuille qui n’existe pas encore puis l’ajouter sur mon schéma de TCD ?

Voici le schéma du TCD :

#Pivot table -> JSON
    request_body = {

        "requests" : [

            {

                "updateCells": {

                    "rows" : {

                        "values" : [

                            {

                                "pivotTable" : {

                                    #Data Source

                                    "source" : {

                                        "sheetId": "0",

                                        "startRowIndex" : 0,

                                        "startColumnIndex" : 0,

                                    },

                                    #Row Field(s)

                                    "rows" : [ 

                                        #field 2

                                        {

                                            "sourceColumnOffset" : 5, #Type Preneur

                                            "showTotals" : False,

                                            "sortOrder" : "ASCENDING"

                                        },

                                        #field 3

                                        {

                                            "sourceColumnOffset" : 3, #Enseigne

                                            "showTotals" : False,

                                            "sortOrder" : "ASCENDING"

                                        }

                                    ],

                                    #Columns Field(s)

                                    "columns" : [

                                        #Field 1

                                        {

                                            "sourceColumnOffset" : 6, #Nature impayés

                                            "sortOrder" : "ASCENDING", 

                                            "showTotals" : False

                                        },

                                        #Field 2

                                        {

                                            "sourceColumnOffset" : 18, #Année

                                            "sortOrder" : "ASCENDING",

                                            "showTotals" : True

                                        },

                                        #Field 3

                                        {

                                            "sourceColumnOffset" : 19, #Item - Entry Type

                                            "sortOrder" : "ASCENDING",

                                            "showTotals" : False  

                                        }

                                    ],

                                    "criteria" : {

                                        6:{

                                            'visibleValues' : ['Solde Créditeur']

                                        },

                                        19:{

                                            'visibleValues' : [

                                                'DEPRD', 'DEPRE', 'ECHEA', 'FACTU'

                                            ]

                                        },

                                        5: {

                                            'visibleValues' : [

                                                "Inconnu", "Indépendant","Antenne / Wifi", "SL", "Franchisé", "Ephémère", "Copro", "Carrefour", "-"

                                            ]

                                        },

                                    },                                        

                                    #Values Field(s)

                                    "values" : [

                                        {

                                            "sourceColumnOffset" : 21, #PNS BRUT PPSO

                                            "summarizeFunction" : "SUM",

                                            "name" : ""

                                        }

                                    ],

                                    "valueLayout" : "HORIZONTAL"

                                }

                            }

                        ]

                    },

                    "start" : {

                        "sheetId" : "******", # Feuille où sera le tcd 

                        "rowIndex" : 0, 

                        "columnIndex" : 0

                    },

                    "fields" : "pivotTable"

                }

            }

        ]

    }

    #Ecriture du 1er TCD

    response = service_sheet.spreadsheets().batchUpdate(

        spreadsheetId = Id_fichier_source,

        body = request_body

    ).execute()

Merci beaucoup !

2 messages - 2 participant(e)s

Lire le sujet en entier


Viewing all articles
Browse latest Browse all 3409

Trending Articles