Comment importer les données de Google Sheets vers Pandas

2. Lire les données d’une feuille Google Sheet publique dans Pandas

Pour importer les données de votre Google Sheet dans Pandas, l’URL de la feuille Google doit être modifiée dans un format que Pandas peut lire directement. Voici un guide étape par étape sur la façon de le faire :

Étape 1 : Localisez l’URL de votre Google Sheets

Votre URL de Google Sheets d’origine ressemble généralement à ceci :

https://docs.google.com/spreadsheets/d/1mSEJtzy5L0nuIMRlY9rYdC5s899Ptu2gdMJcIalr5pg/edit#gid=1606352415

Avec deux paramètres : {spreadsheet_id} et {sheet_id}.

https://docs.google.com/spreadsheets/d/{spreadsheet_id}/edit#gid={sheet_id}

Étape 2 : Modifiez l’URL pour l’exportation en CSV

Pandas peut lire directement des fichiers CSV à partir d’une URL. Pour convertir votre URL de Google Sheets en une URL d’exportation CSV, vous devez apporter quelques modifications :

  • Remplacez /edit#gid={sheet_id} par /export?format=csv&gid={sheet_id}.
  • Si votre Google Sheet ne contient qu’une seule feuille, ou si vous souhaitez accéder à la première feuille, vous pouvez omettre la partie &gid={sheet_id}.
  • Votre URL modifiée devrait maintenant ressembler à ceci : https://docs.google.com/spreadsheets/d/{spreadsheet_id}/export?format=csv ou https://docs.google.com/spreadsheets/d/{spreadsheet_id}/export?format=csv&gid={sheet_id} pour une feuille spécifique.

Pour effectuer le changement d’URL, vous pouvez utiliser l’expression régulière suivante :

import re

def convert_google_sheet_url(url):
    # Expression régulière pour trouver et capturer la partie nécessaire de l'URL
    pattern = r'https://docs.google.com/spreadsheets/d/([a-zA-Z0-9-_]+)(/edit#gid=(d+)|/edit.*)?'

    # Fonction de remplacement pour construire la nouvelle URL pour l'exportation CSV
    # Si gid est présent dans l'URL, il l'inclut dans l'URL d'exportation, sinon il est omis
    replacement = lambda m: f'https://docs.google.com/spreadsheets/d/{m.group(1)}/export?' + (f'gid={m.group(3)}&' if m.group(3) else '') + 'format=csv'

    # Remplacement à l'aide de regex
    new_url = re.sub(pattern, replacement, url)
    return new_url

Étape 3 : Utilisez l’URL modifiée dans Pandas

import pandas as pd

# Remplacez par votre URL modifiée
url = 'https://docs.google.com/spreadsheets/d/1mSEJtzy5L0nuIMRlY9rYdC5s899Ptu2gdMJcIalr5pg/edit#gid=1606352415'
new_url = convert_google_sheet_url(url)

print(new_url) 
# https://docs.google.com/spreadsheets/d/1mSEJtzy5L0nuIMRlY9rYdC5s899Ptu2gdMJcIalr5pg/export?gid=1606352415&format=csv

# Avec l'URL modifiée, vous pouvez maintenant importer facilement vos données de Google Sheets dans un DataFrame Pandas en utilisant la fonction pd.read_csv().
df = pd.read_csv(new_url)

Maintenant, vous savez comment importer les données de votre Google Sheet dans Pandas. Amusez-vous bien avec vos analyses de données !

Pour plus de conseils et astuces sur le marketing en ligne, visitez Crawlan.com – votre destination pour les dernières tendances en marketing numérique.

Articles en lien