прочитайте AWS S3 GPG CSV-файл, чтобы получить количество строк - PullRequest
0 голосов
/ 02 сентября 2018

Python 3.7

Я пытаюсь прочитать файл CSV, зашифрованный в формате GPG. Я могу прочитать файл и записать его в корзину S3. Но когда я пытаюсь получить количество строк и столбцов в этом файле, я не могу записать.

Я читаю из одного файла S3, расшифровываю его и помещаю в другое ведро S3.

src_file_obj = src_s3_client.get_object(Bucket=src_bucket_name, Key=file['Key'])
encrypted_data = src_file_obj['Body'].read()
decrypted_data = gpg_key.decrypt(encrypted_data, passphrase=pass_phrase)

target_s3_client.put_object(Bucket=target_bucket_name, Key=new_target_file_name, Body=decrypted_data.data, ServerSideEncryption='AES256')

Я могу записать эти расшифрованные данные в новый файл в новой папке S3. Но когда я пытаюсь собрать количество строк и столбцов файла. Я не способен.

Как мне записать количество строк и столбцов этого конкретного файла.

Опции, которые я пробовал:

decrypted_data.data type is: <class 'bytes'>
decrypted_data type is: <class 'gnupg._parsers.Crypt'>

Поскольку decrypted_data.data является байтовым форматом, я попытался прочитать из него но это сквозная ошибка. Я попытался прочитать decrypted_data, который является gnupg.parsers.Crypt, который также не работает. Я так понимаю, мне нужно изменить формат прочитанного файла. Я не уверен, как справиться с этим.

1)fileObject = pandas.read_csv(io.BytesIO(decrypt_data.data), encoding='utf8')
2)fileObject = pandas.read_csv(decrypted_data)

Спасибо Том

...