无法使用 python 从 AWS S3 中的现有 csv 文件中删除行



无法使用python从AWS S3中现有的csv文件中删除Rows,目前,我可以使用我的代码读写和附加数据,但当我试图删除一行时,我得到了以下错误

我的代码

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'

如何解决这个问题?请帮帮我…

我认为您缺少了将原始csv数据读回pandas数据帧对象的一行。类似于:

df.from_csv.......

目前,您正在连接原始字节,然后在其上运行一个drop命令,这就是为什么会出现错误的原因。

最新更新