我在S3中有一个excel文件。我的目标是读取该文件,处理并将其写回。我一直在使用openpyxl来实现它的读写部分,它在本地工作。但是,当文件位于S3时,同样不起作用。
目前的架构如下。调用我的烧瓶应用程序,其中S3中文件的URL作为参数传递。参数读取如下。
url = request.args.get('url')
如果是csv文件;以下工作
pandas.read_csv(url)
但在处理xlsx文件时,以下(使用openpyxl):
file = load_workbook(filename = url)
corpus = file['Sheet']
给我以下错误:
FileNotFoundError: [Errno 2] No such file or directory: 's3.amazonaws.com/data-file/prod/projects/Methane__-oil_and_gas-_-_Sheet1.xlsx'
如何解决此问题并从S3读取此文件。此外,在完成处理后,如何将其写回S3。
答案 0 :(得分:0)
你可以在pandas.read_csv
中传递一个网址,因为它会自动识别网址,但看起来这个网址没有你错误的协议。
网址应为https://s3.amazonaws.com/data-file/prod/projects/Methane__-oil_and_gas-_-_Sheet1.xlsx
尝试在网址前附加https://
,看看会发生什么。