[Python] Zusammenfassung der S3-Dateivorgänge mit boto3

Verzeichnisaufbau

Angenommen, die folgenden Dateien werden in s3 vorbereitet.

line/
└── diagonal/
   └── hoge.csv

Kopieren Sie Dateien zwischen Ordnern im selben Bucket

Erstellen Sie einen neuen "Straight" -Ordner unter dem "Line" -Ordner und kopieren Sie "Line / Diagonal / Hoge.csv" in diesen Ordner.

import os
import boto3

BUCKET_NAME = 'your_bucket'  #Eimername
COPY_FROM = 'line/diagonal'  #Quellverzeichnispfad kopieren
COPY_TO = 'line/straight'  #Zielverzeichnispfad kopieren]
FILE_NAME = 'hoge.csv'  #Dateiname

s3 = boto3.client('s3')

copy_from_path = os.path.join(COPY_FROM, FILE_NAME)
copy_to_path = os.path.join(COPY_TO, FILE_NAME)

s3.copy_object(Bucket=BUCKET_NAME, key=copy_to_path, CopySource={'Bucket': BUCKET_NAME, 'Key': COPY_FROM_PATH})

Bei der Ausführung wird ein "Straight" -Ordner unter dem "Line" -Ordner erstellt und "hoge.csv" wird dort kopiert.

line/
├── diagonal/
│   └── hoge.csv
└── straight/
	└── hoge.csv

Datei aus Verzeichnis löschen

Löschen Sie "hoge.csv" aus dem "diagonalen" Ordner.

import os
import boto3

BUCKET_NAME = 'your_bucket'  #Eimername
DELETE_DIR_PATH = 'line/diagonal'  #Kopieren Sie den Pfad des Quellverzeichnisses
FILE_NAME = 'hoge.csv'  #Dateiname

s3 = boto3.client('s3')

delete_file_path = os.path.join(DELETE_DIR_PATH, FILE_NAME)

s3.delete_object(Bucket=BUCKET_NAME, Key=delete_file_path)

Bei der Ausführung wird csv aus hoge.csv im Ordner diagonal gelöscht.

line/
├── diagonal/
│   
└── straight/
	└── hoge.csv

Lokal von S3 herunterladen

import os
import boto3

BUCKET_NAME = 'your_bucket'  #Eimername
S3_PATH = 'line/straight'  
LOCAL_PATH = 'hogehoge'
FILE_NAME = 'hoge.csv'

s3_resource = boto3.resource('s3')
bucket = s3_resource.Bucket(BUCKET_NAME)

downlod_from_path = os.path.join(S3_PATH, FILE_NAME)
download_to_path = os.path.join(LOCAL_PATH, FILE_NAME)

bucket.download_file(downlod_from_path, download_to_path)

Speichern Sie den Pandas-Datenrahmen als CSV in S3

import os
import pandas as pd
from io import StringIO
import boto3

S3_PATH = 'line/diagonal'
FILE_NAME = 'diagonal.csv'

df = pd.DataFrame([[1, 10], [2, 20], [3, 30]])

upload_path = os.path.join(S3_PATH, FILE_NAME)

csv_buffer = StringIO()
df.to_csv(csv_buffer)
s3_resource = boto3.resource('s3')
s3_resource.Object(S3_BUCKET, upload_path.put(Body=csv_buffer.getvalue())

Bei der Ausführung wird "diagonl.csv" unter dem Ordner "diagonal" erstellt.

line/
├── diagonal/
│   └── diagonal.csv
└── straight/
	└── hoge.csv

Recommended Posts

[Python] Zusammenfassung der S3-Dateivorgänge mit boto3
Zusammenfassung der Python-Dateivorgänge
Zusammenfassung der Python3-Listenoperationen
Überprüfen Sie die Existenz der Datei mit Python
S3 serverseitige Verschlüsselung SSE mit Python boto3
Zusammenfassung der häufig mit asyncpg ausgeführten Vorgänge
[Python3] Grundlegendes zu Dateivorgängen
Dateioperationen in Python
Dateivorgang mit open - "../"
Dateimanipulation mit Python
Zusammenfassung der Zeichenfolgenoperationen
S3 Uploader mit Boto
Zusammenfassung der Python-Argumente
Konvertieren Sie den Zeichencode der Datei mit Python3
Zusammenfassung der Excel-Operationen mit OpenPyXL in Python
Zusammenfassung der Tools zum Betreiben der Windows-Benutzeroberfläche mit Python
Ausgabe der zeitlich begrenzten S3-URL mit boto3 (mit Bestätigung der Dateiexistenz)
Zusammenfassung des grundlegenden Ablaufs des maschinellen Lernens mit Python
Ordnererstellung / Verschieben / Komprimieren / Löschen von Dateien mit Python
[Memo] Lade csv von s3 mit boto3 in Pandas
[S3] CRUD mit S3 unter Verwendung von Python [Python]
Zeichnen Sie eine netCDF-Datei mit Python
Laden Sie die CSV-Datei mit Python herunter
Extrahieren Sie die Vorlage der aus Thunderbird gespeicherten EML-Datei mit python3.7
[Für Anfänger] Zusammenfassung der Standardeingabe in Python (mit Erklärung)
Grundlegende Zusammenfassung der Datenoperationen mit Python Pandas - Erste Hälfte: Datenerstellung und -operationen
Extrahieren Sie die xz-Datei mit Python
Einfache Verschlüsselung von Dateiinhalten (Python)
[Python] Mit Python in eine CSV-Datei schreiben
[Mit Python automatisiert! ] Teil 1: Datei einstellen
Implementierter Dateidownload mit Python + Bottle
Eine kurze Zusammenfassung der Python-Sammlung
Ausgabe in eine CSV-Datei mit Python
Erste Schritte mit Python Grundlagen von Python
Automatisierung von Remote-Operationen mit Fabric
10 Funktionen von "Sprache mit Batterie" Python
Python-Memo ① Ordner- und Dateivorgänge
Implementierung der Dyxtra-Methode durch Python
ORC, Parkettdateivorgänge in Python
[Mit Python automatisiert! ] Teil 2: Dateivorgang
Koexistenz von Python2 und 3 mit CircleCI (1.0)
Verwenden Sie boto3, um zu S3 zu gelangen
Zusammenfassung der Python-Indizes und -Slices
Generieren Sie eine mit S3 signierte URL mit boto
Grundlegendes Studium von OpenCV mit Python
[OpenCV; Python] Zusammenfassung der Funktion findcontours
Die Idee, die Konfigurationsdatei mit einer Python-Datei anstelle von yaml zu füttern
Verarbeiten Sie die mit Redshift entladene gzip-Datei mit Python of Lambda, gzipen Sie sie erneut und laden Sie sie in S3 hoch
Grundlagen der binärisierten Bildverarbeitung durch Python
[Beispiel für eine Python-Verbesserung] Python mit Codecademy lernen
[Python] Zusammenfassung der Verwendung von Pandas
Python-Zusammenfassung
Erstellen einer einfachen Power-Datei mit Python
Exklusive Steuerung mit Sperrdatei in Python
Grundlegende Zusammenfassung des Scrapings mit Anfragen, die Anfänger absolut verstehen können [Python]
CSV-Datei mit Python lesen (CSV-Datei herunterladen und analysieren)
Führen Sie das Python-Skript mit TS-220 cron aus
Verwenden Sie boto, um die Datei von S3 herunterzuladen.