Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用python从S3读写excel工作表?_Python_Python 3.x_Amazon Web Services_Amazon S3_Openpyxl - Fatal编程技术网

如何使用python从S3读写excel工作表?

如何使用python从S3读写excel工作表?,python,python-3.x,amazon-web-services,amazon-s3,openpyxl,Python,Python 3.x,Amazon Web Services,Amazon S3,Openpyxl,我在S3中有一个excel文件。我的目标是读取、处理并写回该文件。我一直在使用openpyxl来实现它的读写部分,它在本地工作。但是,当文件位于S3时,同样的方法不起作用 当前的架构如下所示。调用my flask应用程序,其中S3中文件的URL作为参数传递。参数的读取如下所示 url = request.args.get('url') 如果是csv文件;下面的方法奏效了 pandas.read_csv(url) 但在处理xlsx文件时,需要注意以下几点(使用openpyxl): 正在给我以下

我在S3中有一个excel文件。我的目标是读取、处理并写回该文件。我一直在使用openpyxl来实现它的读写部分,它在本地工作。但是,当文件位于S3时,同样的方法不起作用

当前的架构如下所示。调用my flask应用程序,其中S3中文件的URL作为参数传递。参数的读取如下所示

url = request.args.get('url')
如果是csv文件;下面的方法奏效了

pandas.read_csv(url)
但在处理xlsx文件时,需要注意以下几点(使用openpyxl):

正在给我以下错误:

FileNotFoundError: [Errno 2] No such file or directory: 's3.amazonaws.com/data-file/prod/projects/Methane__-oil_and_gas-_-_Sheet1.xlsx'

如何解决此问题并从S3读取此文件。另外,在我完成处理后,如何将其写回S3。

您可以在
pandas中传递url。读取\u csv
,因为它会自动识别url,但看起来url没有您的错误协议

url应该是
https://s3.amazonaws.com/data-file/prod/projects/Methane__-oil_and_gas-_-_Sheet1.xlsx

尝试在url之前添加
https://
,看看会发生什么

FileNotFoundError: [Errno 2] No such file or directory: 's3.amazonaws.com/data-file/prod/projects/Methane__-oil_and_gas-_-_Sheet1.xlsx'