Как рассчитать CSV-файлы с определенной структурой именования в S3 Bucket с помощью Boto3? - PullRequest
0 голосов
/ 08 февраля 2019

У меня есть файлы с разными именами в корзине s3.

Я хочу посчитать, сколько csv со словом 'member' находится в моем ведре?

Однако к файлам-членам прикреплен UUID, например:

member_asldf2323209.csv

Я пробовал это сделать до сих пор:

import boto3

# create the s3 resource
s3 = boto3.resource('s3')

# get the file object
obj = s3.Object('bucket_name', 'key')

# read the file contents in memory
file_contents = obj.get()["Body"].read()

# print the occurrences of the new line character to get the number of lines
print file_contents.count('\n')

это дает мне только одного участника'файл без UUID.

1 Ответ

0 голосов
/ 08 февраля 2019

Если вы хотите посчитать количество объектов, которые содержат определенное слово в ключе, вы можете использовать что-то вроде:

import boto3

s3_client = boto3.client('s3', region_name = 'ap-southeast-2')

listing = s3_client.list_objects_v2(Bucket='my-bucket')

members = [object['Key'] for object in listing['Contents'] if 'member' in object['Key']]
print (members)
print (len(members))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...