[Python] Résumé des opérations sur les fichiers S3 avec boto3

Structure du répertoire

En supposant que les fichiers suivants sont préparés dans s3.

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

Copier des fichiers entre des dossiers dans le même compartiment

Créez un nouveau dossier straight sous le dossier line et copiez-y line / diagonal / hoge.csv.

import os
import boto3

BUCKET_NAME = 'your_bucket'  #Nom du godet
COPY_FROM = 'line/diagonal'  #Copier le chemin du répertoire source
COPY_TO = 'line/straight'  #Copier le chemin du répertoire de destination]
FILE_NAME = 'hoge.csv'  #nom de fichier

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})

Une fois exécuté, un dossier straight sera créé sous le dossier line et hoge.csv y sera copié.

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

Supprimer le fichier du répertoire

Supprimez hoge.csv du dossier diagonal.

import os
import boto3

BUCKET_NAME = 'your_bucket'  #Nom du godet
DELETE_DIR_PATH = 'line/diagonal'  #Copier le chemin du répertoire source
FILE_NAME = 'hoge.csv'  #nom de fichier

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)

Lorsqu'il est exécuté, csv est supprimé de hoge.csv sous le dossier diagonal.

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

Télécharger localement depuis S3

import os
import boto3

BUCKET_NAME = 'your_bucket'  #Nom du godet
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)

Enregistrer la trame de données Pandas en tant que csv dans 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())

Une fois exécuté, diagonl.csv sera créé dans le dossier diagonal.

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

Recommended Posts

[Python] Résumé des opérations sur les fichiers S3 avec boto3
résumé lié à l'opération de fichier python
Résumé des opérations de liste Python3
Vérifier l'existence du fichier avec python
Chiffrement côté serveur S3 SSE avec Python boto3
Résumé des opérations souvent effectuées avec asyncpg
[Python3] Comprendre les bases des opérations sur les fichiers
Opérations sur les fichiers en Python
Opération de fichier avec open - "../"
Manipulation de fichiers avec Python
Résumé des opérations sur les chaînes
Téléchargeur S3 avec boto
Résumé des arguments Python
Convertir le code de caractère du fichier avec Python3
Résumé des opérations Excel utilisant OpenPyXL en Python
Récapitulatif des outils d'exploitation de l'interface graphique Windows avec Python
Émettre une URL limitée dans le temps S3 avec boto3 (avec confirmation de l'existence du fichier)
Résumé du flux de base de l'apprentissage automatique avec Python
Opérations de création de dossier / déplacement de fichier / compression / suppression avec python
[Memo] Chargez le csv de s3 dans les pandas avec boto3
[S3] CRUD avec S3 utilisant Python [Python]
Dessiner un fichier netCDF avec python
Télécharger le fichier csv avec python
Extraire le modèle du fichier EML enregistré depuis Thunderbird avec python3.7
[Pour les débutants] Résumé de l'entrée standard en Python (avec explication)
Résumé de base de la manipulation de données avec Python Pandas - Première moitié: création et manipulation de données
Extraire le fichier xz avec python
Chiffrement facile du contenu des fichiers (Python)
[Python] Ecrire dans un fichier csv avec Python
[Automatisé avec python! ] Partie 1: fichier de configuration
Téléchargement de fichiers implémenté avec Python + Bottle
Un bref résumé de la collection Python
Sortie vers un fichier csv avec Python
Premiers pas avec Python Bases de Python
Automatisation des opérations à distance avec Fabric
10 fonctions du "langage avec batterie" python
Mémo Python ① Opérations sur les dossiers et fichiers
Implémentation de la méthode Dyxtra par python
ORC, opérations de fichier Parquet en Python
[Automatisé avec python! ] Partie 2: Fonctionnement des fichiers
Coexistence de Python2 et 3 avec CircleCI (1.0)
Utilisez boto3 pour accéder à S3
Résumé des index et des tranches Python
Générer une URL signée S3 avec boto
Etude de base d'OpenCV avec Python
[OpenCV; Python] Résumé de la fonction findcontours
L'idée d'alimenter le fichier de configuration avec un fichier python au lieu de yaml
Traitez le fichier gzip UNLOADed avec Redshift avec Python de Lambda, gzipez-le à nouveau et téléchargez-le sur S3
Bases du traitement d'images binarisées par Python
[Exemple d'amélioration de Python] Apprentissage de Python avec Codecademy
[Python] Résumé de l'utilisation des pandas
Résumé Python
Créer un fichier power simple avec Python
Contrôle exclusif avec fichier de verrouillage en Python
Résumé de base du scraping avec des requêtes que les débutants peuvent absolument comprendre [Python]
Lire le fichier CSV avec python (Télécharger et analyser le fichier CSV)
Exécuter le script Python avec TS-220 cron
Utilisez boto pour télécharger le fichier depuis S3.