[PYTHON] Convertissez la feuille de calcul en CSV et importez-la dans Cloud Storage avec Cloud Functions

Cible

Après avoir atteint le point de terminaison de l'API, exportez les données d'une feuille de calcul spécifique au format CSV et enregistrez-les dans le stockage.

Quoi utiliser

procédure

1. Publiez la feuille de calcul en tant qu'application Web

Sélectionnez Outils-> <> Éditeur de scripts "dans la barre d'outils de la feuille de calcul pour ouvrir l'éditeur de scripts Google Apps. screenshot-script.google.com-2020.05.14-18_55_28.png

Supprimez le code existant et collez le code ci-dessous.

code.gs


function doGet(e) {
  var output = ContentService.createTextOutput(createCSV());
  output.setMimeType(ContentService.MimeType.TEXT);
  return output;
}

function createCSV() {
  var sheetName = 'Nom de la feuille';
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName(sheetName);
  var values = sheet.getDataRange().getValues();
  var csv = values.join('\n');
  return csv;
}

Cliquez sur "Publier" -> "Introduire comme application Web ..." dans la barre d'outils.

Il vous sera demandé le nom du projet, alors donnez-lui un nom approprié et cliquez sur "OK".

On vous demandera les paramètres. Réglez «Exécuter l'application comme:» sur «Moi (adresse e-mail)» et «Qui a accès à l'application:» sur «Tout le monde, même anonyme» et cliquez sur «Déployer». screenshot-script.google.com-2020.05.14-18_46_39.png

L'écran suivant s'affiche. Si vous accédez à l'URL décrite dans "URL actuelle de l'application Web" et que les données de la feuille de calcul sont affichées au format CSV, l'opération réussit. screenshot-script.google.com-2020.05.14-18_50_52.png

Notez cette URL car vous l'utiliserez plus tard.

2. Accordez à Cloud Storage l'autorisation de créer des objets

Ouvrez «Compte de service» dans «IAM et administration» et cliquez sur «Créer un compte de service» pour créer un compte de service.

Ouvrez Storage et cliquez sur Create Bucket pour créer un bucket.

Sur l'écran de la liste des compartiments, cliquez sur "Modifier les autorisations du compartiment" -> "Ajouter un membre" dans le menu situé à droite du compartiment.

Ajoutez le compte de service que vous venez de créer au nouveau membre, sélectionnez le rôle, sélectionnez Cloud Storage → Storage Object Administrator, puis cliquez sur Enregistrer.

screenshot-console.cloud.google.com-2020.05.14-19_42_16.png

3. Placez un script pour télécharger CSV dans Cloud Functions

Ouvrez Cloud Functions et cliquez sur Créer une fonction.

Cochez "Autoriser les appels non autorisés".

screenshot-console.cloud.google.com-2020.05.14-19_50_20.png

Sélectionnez Python 3.7 pour le runtime. Collez le code suivant dans "MAIN.PY" et "REQUIREMENT.TXT".

main.py


import sys
import csv
import codecs
import requests
import os
import tempfile

from google.cloud import storage


def main(request):
    # Spreadsheet Web application URL
    url = '1.URL affichée dans'

    # Cloud Storage
    bucket = 'Nom du godet'
    dir = 'Nom de la direction'
    fileName = 'nom csv'

    # get data
    r = requests.get(url)
    assert r.status_code == requests.codes.ok, "can't read spreadsheet"  # pylint: disable=no-member

    # make file
    _, temp_local_filename = tempfile.mkstemp()
    with codecs.open(temp_local_filename, 'w', 'utf_8') as f:
        f.write(r.text)

    # upload file
    client = storage.Client()
    bucket = client.get_bucket(bucket)
    blob = bucket.blob(f'{dir}/{fileName}')
    blob.upload_from_filename(filename=temp_local_filename)
    return "success"

REQUIREMENT>TXT


astroid==2.4.0
autopep8==1.5.2
cachetools==4.1.0
certifi==2020.4.5.1
chardet==3.0.4
colorama==0.4.3
google-api-core==1.17.0
google-auth==1.14.1
google-cloud==0.34.0
google-cloud-core==1.3.0
google-cloud-storage==1.28.0
google-resumable-media==0.5.0
googleapis-common-protos==1.51.0
idna==2.9
isort==4.3.21
lazy-object-proxy==1.4.3
mccabe==0.6.1
protobuf==3.11.3
pyasn1==0.4.8
pyasn1-modules==0.2.8
pycodestyle==2.5.0
pylint==2.5.0
pytz==2020.1
requests==2.23.0
rsa==4.0
six==1.14.0
toml==0.10.0
urllib3==1.25.9
wrapt==1.12.1

Réglez "Fonction à exécuter" sur "principal" et cliquez sur "Créer".

screenshot-console.cloud.google.com-2020.05.14-19_51_28.png

Après cela, cliquez sur le nom de la fonction → appuyez sur l'URL écrite dans l'onglet "Déclencheur" et le CSV sera écrit et il réussira.

référence

Recommended Posts

Convertissez la feuille de calcul en CSV et importez-la dans Cloud Storage avec Cloud Functions
GAE --Avec Python, faites pivoter l'image en fonction des informations de rotation d'EXIF et importez-la dans Cloud Storage.
Lisez le fichier CSV avec Python et convertissez-le en DataFrame tel quel
Cloud Functions pour redimensionner les images à l'aide d'OpenCV avec le déclencheur Cloud Storage
Comment télécharger des fichiers sur Cloud Storage avec le SDK Python de Firebase
Importez et supprimez des fichiers dans Google Cloud Storages avec django-storage
Convertissez le résultat de python optparse en dict et utilisez-le
Télécharger le fichier sur Cloud Storage (GCS) de GCP ~ Charger avec Python local
Traitez le fichier gzip UNLOADed avec Redshift avec Python de Lambda, gzipez-le à nouveau et téléchargez-le sur S3
Convertir de PDF en CSV avec pdfplumber
[mémo] Envoyez des informations de table à GCS avec BigQuery Schedule et Cloud Functions
Récupérer le csv publié avec Github Action et le publier sur les pages Github
Extraire le résultat de la commande TOP avec USER et le sortir au format CSV
Obtenez le nombre de visites sur chaque page avec ReportingAPI + Cloud Functions
Convertissez les fichiers téléchargés vers Cloud Storage avec Cloud Functions (Python) afin qu'ils ne soient pas déformés dans Excel
Mettez à jour les données en les téléchargeant sur s3 d'aws avec une commande, et supprimez les données utilisées (en chemin)
Grattage de la nourriture avec python et sortie en CSV
Gratter l'holojour et l'afficher dans la CLI
Conversion DICOM en PNG avec ordre croissant et décroissant
J'ai automatisé l'estampillage de Job Can avec du sélénium et l'ai déployé sur Google Cloud Functions, mais c'était assez difficile
Convertir XLSX en CSV sur la ligne de commande
Convertir l'API cURL en script Python (à l'aide du stockage d'objets IBM Cloud)
Lisez le fichier csv avec le notebook jupyter et écrivez le graphique l'un sur l'autre
Il est facile d'exécuter SQL avec Python et de générer le résultat dans Excel
J'ai essayé de toucher un fichier CSV avec Python
Lisez le fichier csv et affichez-le dans le navigateur
Convertissez l'image au format .zip en PDF avec Python
Comment convertir un fichier JSON en fichier CSV avec Python Pandas
POSTER l'image avec json et la recevoir avec flask
Convertir 202003 en 2020-03 avec les pandas
POSTEZ l'image sélectionnée sur le site Web avec multipart / form-data et enregistrez-la sur Amazon S3! !!
Obtenez de manière récursive la liste Excel dans un dossier spécifique avec python et écrivez-la dans Excel.
Renvoyez les données d'image avec Flask of Python et dessinez-les dans l'élément canvas de HTML
[Python / Ruby] Comprendre le code Comment obtenir des données en ligne et les écrire au format CSV
Précautions lors de la saisie à partir de CSV avec Python et de la sortie vers json pour faire exe
[Python] Modifier le contrôle du cache des objets téléchargés sur Cloud Storage
API Nifty Cloud facile à utiliser avec botocore et python
[Python] Lisez le fichier csv et affichez la figure avec matplotlib
Convertissez des images numérisées déformées en PDF avec Pillow et PyPDF
Comment convertir Youtube en mp3 et le télécharger en toute sécurité [Python]
Conversion par lots de tous les fichiers xlsx du dossier en fichiers CSV
"Copie profonde" et "Copie superficielle" à comprendre avec le plus petit exemple
Convertir une vidéo en noir et blanc avec ffmpeg + python + opencv
Comment télécharger des fichiers sur Cloud Storage à l'aide de Python [Créer une caméra à point fixe avec Raspberry PI # 1]
Convertissez les données météorologiques au format GRIB2 qui ne peuvent pas être ouvertes avec pygrib en netCDF et visualisez-les
[Python] Qu'est-ce que pip? Expliquez la liste des commandes et comment l'utiliser avec des exemples réels
J'ai essayé d'utiliser l'API Google avec Ruby et Python - Faites de la base de données une feuille de calcul et gérez-la avec Google Drive
J'ai essayé de créer un traitement par lots sans serveur pour la première fois avec DynamoDB et Step Functions
Gratter la liste des magasins membres Go To EAT dans la préfecture de Fukuoka et la convertir en CSV
Gratter la liste des magasins membres Go To EAT dans la préfecture de Niigata et la convertir en CSV
Télécharger des fichiers sur Aspera fournis avec IBM Cloud Object Storage (ICOS) à l'aide du SDK (version Python)
Écrire en csv avec Python
Convertissez rapidement SDF en CSV
Déterminez le format de la date et de l'heure avec Python et convertissez-le en Unixtime
Activé pour convertir PNG en JPG avec Pillow of Python
Répétez avec While. Script pour tweeter ou rechercher depuis le terminal
Comment installer OpenCV sur Cloud9 et l'exécuter en Python
Après avoir appelé le fichier Shell sur Python, convertissez CSV en Parquet.