【发布时间】:2021-09-21 16:09:35
【问题描述】:
无法使用 python 从 AWS S3 中的现有 csv 文件中删除行, 目前,我可以使用我的代码读取写入和附加数据,但是当我尝试删除一行时,出现以下错误
我的代码
import pandas as pd
import boto3
import csv
Name = "database-2"
Launch_time = "2021-07-09T11:04:80z"
Region = "us-east-2"
data_list = {'Instance_name': [Name],
'Created_time ': [Launch_time],
'Region ': [Region]}
s3_client = boto3.client('s3')
df = pd.DataFrame(data_list)
bytes_to_write = df.to_csv(None, header=None, index=False).encode()
print(bytes_to_write)
file_name = 'blank.csv'
# get the existing file
current_data = s3_client.get_object(Bucket='test-lambda', Key=file_name)['Body'].read()
# append
print(current_data)
appended_data = current_data + bytes_to_write
# drop raw 2
appended_data = appended_data.drop([2], axis=0)
# overwrite
s3_client.put_object(Body=appended_data, Bucket='test-lambda', Key=file_name)
错误信息
Traceback (most recent call last):
File "script.py", line 21, in <module>
appended_data = appended_data.drop([2], axis=0)
AttributeError: 'bytes' object has no attribute 'drop'
如何解决这个问题?请帮帮我...
【问题讨论】:
标签: pandas dataframe csv amazon-s3 boto3