如何通过python从URL下载xlsx文件并保存在数据框中

2024-06-24 13:31:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我想用下面的代码从URL下载xlsx文件并保存在驱动器中。在

我收到这个错误:

AttributeError: 'str' object has no attribute 'content'

代码如下:

import requests
import xlrd
import pandas as pd

filed = 'https://www.icicipruamc.com/downloads/others/monthly-portfolio-disclosures/monthly-portfolio-disclosure-november19/Arbitrage.xlsx'

resp = requests.get(filed)

workbook = xlrd.open_workbook(file_contents = filed.content)
worksheet = workbook.sheet_by_index(0)
first_row = worksheet.row(0)

df = pd.DataFrame(first_row)

Tags: 代码importurlcontentxlsxrequestsrowfirst
2条回答

pandas已经有一个函数thas将excel direclty转换成pandas dataframe(使用xlrd):

import pandas as pd

MY_EXCEL_URL="www.yes.com/xl.xlsx"
xl_df = pd.read_excel(MY_EXCEL_URL,
                       sheet_name='my_sheet',
                       skiprows=range(5),
                       skipfooter=0)

然后你可以使用pd.DataFrame.to_excel处理/保存文件

此功能工作正常,测试了单个组件。你的ICICI网站好像给了我404分。所以在试用之前,请确保网站正常工作并有一个excel表格。在

import requests
import pandas as pd

def excel_to_pandas(URL, local_path):
    resp = requests.get(URL)
    with open(local_path, 'wb') as output:
        output.write(resp.content)
    df = pd.read_excel(local_path)
    return df


print(excel_to_pandas("www.websiteforxls.com", '~/Desktop/my_downloaded.xls'))

作为一个脚注,这非常简单。我很失望你不能自己做这件事。5年前我可能做不到,所以我决定帮忙。在

如果你想编码。学习基础知识,字面意思是基础知识:类、函数、变量、类型、OOP原则。这就是你要开始的全部。然后你需要学习如何搜索,并使不同的组件以你需要的方式一起工作。因此,如果你表现出一些努力,我们很乐意提供帮助。我们是一个社区,不是解决你家庭作业的地方。下次再努力一点。在

相关问题 更多 >