使用Python在S3中打开并保存excel文件
我对excel(xlsx)文件有一些问题。我只想用python代码打开并保存操作。我尝试过python,但找不到使用Python在S3中打开并保存excel文件,python,amazon-s3,Python,Amazon S3,我对excel(xlsx)文件有一些问题。我只想用python代码打开并保存操作。我尝试过python,但找不到 cursor = context.cursor() s3 = boto3.resource('s3') bucket = s3.Bucket('bucket') objects = bucket.objects.all() for obj in objects: if obj.key.startswith('path/filename'): filename=obj.
cursor = context.cursor()
s3 = boto3.resource('s3')
bucket = s3.Bucket('bucket')
objects = bucket.objects.all()
for obj in objects:
if obj.key.startswith('path/filename'):
filename=obj.key
openok=open(obj)
readok = openok.readlines()
readok.close()
print ('file open and close sucessfully')```
据我所知,您不能直接在s3上读取/与文件交互。 我建议在本地下载,然后打开它。如果要将内置tempfile模块保存到临时路径,可以使用该模块
with tempfile.TemporaryDirectory() as tmpdir:
local_file_path = os.path.join(tmpdir, "tmpfile")
bucket.download_file(obj.key, local_file_path)
openok=open(local_file_path)
readok = openok.readlines()
readok.close()
据我所知,您不能直接在s3上读取/与文件交互。 我建议在本地下载,然后打开它。如果要将内置tempfile模块保存到临时路径,可以使用该模块
with tempfile.TemporaryDirectory() as tmpdir:
local_file_path = os.path.join(tmpdir, "tmpfile")
bucket.download_file(obj.key, local_file_path)
openok=open(local_file_path)
readok = openok.readlines()
readok.close()
这段代码的作用是什么?我只想打开和关闭s3文件夹中的文件。但是为什么要这样做呢?如果你解释你的最终目标,我们可能会提供一个更好的答案。实际上,我们正在使用matillion将xlsx文件从s3加载到红移。我们已经加载了多个文件,最近遇到了一个难题。我们的matillion组件colud没有读取该文件。如果我们下载并打开并保存该文件,它工作得很好。这段代码是做什么的?我只想在s3文件夹中打开并关闭该文件。但为什么要这样做?如果您解释您的最终目标,我们可能会提供更好的答案。实际上,我们正在使用matillion将xlsx文件从s3加载到红移。我们已经加载了多个文件,最近遇到了一个难题。我们的matillion组件colud无法读取该文件。如果我们下载并打开并保存该文件,它工作正常。