读取AWS S3 GPG csv文件以获取行数

时间:2018-09-01 22:25:01

标签: amazon-s3 streaming python-3.6 read-write bytestream

Python 3.7

我正在尝试读取以GPG格式加密的CSV文件。我能够读取文件并将其写入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是字节格式,所以我尝试从中读取。但它是通过错误。我尝试读取gnupg.parsers.Crypt的解密数据,它也失败了。我了解我需要更改读取文件的格式。我不确定如何处理。

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

谢谢 汤姆

0 个答案:

没有答案