Zusammenfassung der Bucket-Datei-Operationen (Übertragen, Erfassen, Löschen, Lesen usw.) an GCS per Python

Läuft zuerst.py


import os
import pandas as pd
from io import BytesIO
from pathlib import Path
from google.cloud import storage
from google.oauth2 import service_account

def get_project_credentials():
    credentials = service_account.Credentials.from_service_account_file(
        "xx/xx/xx/xx.json",#Der Pfad, in dem sich die JSON-Datei für den Dienstkontoschlüssel befindet
        scopes=["https://www.googleapis.com/auth/cloud-platform"],
    )
    return credentials


def get_storage_client(credentials):
    storage_client = storage.Client(
        credentials = credentials,
        project = credentials.project_id,
    )
    return storage_client

Erstellen Sie einen Eimer

created_bucket.py


created_bucket_name = 'tmp_bucket_qitaqita'

credentials = get_project_credentials()
storage_client = get_storage_client(credentials)
bucket = storage_client.create_bucket(created_bucket_name)

Beachten Sie, dass Bucket-Namen weltweit eindeutig sein müssen. (Zuerst habe ich versucht, es mit dem Namen "tmp_bucket" zu erstellen, aber ich habe eine Fehlermeldung erhalten, weil es bereits existiert.)

Übertragen Sie lokale Dateien in den Bucket

trans_to_bucket.py


bucket_name = 'tmp_bucket_qitaqita'
file_name = 'send_txt.txt' #Name des zu sendenden Objekts
destination_blob_name = 'sended_txt.txt' #Name am Zielort

credentials = get_project_credentials()
storage_client = get_storage_client(credentials)

bucket = storage_client.get_bucket(bucket_name)
blob = bucket.blob(destination_blob_name)
blob.upload_from_filename(file_name)

Wenn Sie das Ziel wie folgt benennen, wird ein Verzeichnis mit dem Namen make_dir erstellt und die Dateien werden dorthin übertragen. destination_blob_name = 'make_dir/sended_txt_2.txt'

Löschen Sie die Datei im Bucket

del_bucket_file.py


bucket_name = 'tmp_bucket_qitaqita'
file_name = 'sended_txt.txt'#Der Name der Datei, die Sie im Bucket löschen möchten

credentials = get_project_credentials()
storage_client = get_storage_client(credentials)

bucket = storage_client.get_bucket(bucket_name)
blob = bucket.blob(file_name)
blob.delete()

Zeigen Sie eine Liste der Bucket-Namen an

bucket_name.py


credentials = get_project_credentials()
storage_client = get_storage_client(credentials)

blobs = storage_client.list_buckets()
for blob in blobs:
    print(blob.name)

Zeigen Sie eine Liste der Dateinamen im Bucket an

filename_in_bucket.py


bucket_name = 'tmp_bucket_qitaqita'

credentials = get_project_credentials()
storage_client = get_storage_client(credentials)

bucket = storage_client.get_bucket(bucket_name)
blobs = bucket.list_blobs()
for blob in blobs:
    print(blob.name)

Löschen Sie den Eimer

del_bucket.py


bucket_name = 'tmp_bucket_qitaqita'#Bucket-Name, den Sie löschen möchten

credentials = get_project_credentials()
storage_client = get_storage_client(credentials)

bucket = storage_client.get_bucket(bucket_name)
bucket.delete()

Lesen Sie die txt-Datei im Bucket und speichern Sie sie lokal

Laden speichern.py


bucket_name = 'tmp_bucket_qitaqita'
file_name = 'sended_txt.txt'#Dateiname in dem Bucket, den Sie lesen möchten

credentials = get_project_credentials()
storage_client = get_storage_client(credentials)

bucket = storage_client.get_bucket(bucket_name)
blob = storage.Blob(file_name, bucket)

content = blob.download_as_string()
with open('sended_txt.txt', mode='wb') as f:
    f.write(content)

Lesen Sie die CSV-Datei auf dem Eimer mit Pandas

CSV-Datei lesen.py


bucket_name = 'tmp_bucket_qitaqita'
file_name = 'dataset_data.csv'

credentials = get_project_credentials()
storage_client = get_storage_client(credentials)

bucket = storage_client.get_bucket(bucket_name)
blob = storage.Blob(file_name, bucket)
content = blob.download_as_string()
df_csv = pd.read_csv(BytesIO(content))

Wenn andere Vorgänge wahrscheinlich nachgefragt werden, fügen Sie sie entsprechend hinzu.

Nebenbei: Dies ist der erste Beitrag zu Qiita. Ich hoffe, es hilft.

Recommended Posts

Zusammenfassung der Bucket-Datei-Operationen (Übertragen, Erfassen, Löschen, Lesen usw.) an GCS per Python
Lesen Sie die XML-Datei anhand des Python-Tutorials
Zusammenfassung der Python-Dateivorgänge
So wechseln Sie die Konfigurationsdatei, die von Python gelesen werden soll
Lesen Sie die Datei Zeile für Zeile mit Python
Lesen Sie die Datei Zeile für Zeile mit Python
Lesen einer CSV-Datei mit Python 2/3
[Python] Wie man Excel-Dateien mit Pandas liest
[Python] Zusammenfassung der S3-Dateivorgänge mit boto3
Lesen Sie mit Python Zeile für Zeile aus der Datei
Vorlage des Python-Skripts zum Lesen des Inhalts der Datei
[Python] Privat erstellte und verwendete kleine Funktionen (Dateivorgänge usw.)
Ordnererstellung / Verschieben / Komprimieren / Löschen von Dateien mit Python
Lesen von Text mit Standardeingabe oder Dateinamen wie cat in Python
Dateioperationen in Python
[Python] Datei- / Verzeichnisoperation
Dateimanipulation mit Python
Lesen Sie die Python-CSV-Datei
Lesen einer Excel-Datei (.xlsx) mit Pandas [Python]