首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法使用python从AWS S3中的现有csv文件中删除行

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

Stack Overflow用户
提问于 2021-07-12 13:31:54
回答 1查看 58关注 0票数 0

无法使用python从AWS S3中的现有csv文件中删除行,目前,我能够使用代码读取、写入和追加数据,但是当我尝试删除一行时,我得到了以下错误

我的代码

代码语言:javascript
复制
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)

错误消息

代码语言:javascript
复制
  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'

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

EN

回答 1

Stack Overflow用户

发布于 2021-07-12 21:01:25

我想你遗漏了一行,你把原始的csv数据读回给一个熊猫数据对象。类似于:

代码语言:javascript
复制
df.from_csv.......

目前,您正在连接原始字节,然后在其上运行一个drop命令,这就是您获得错误的原因。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68348268

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档