首页 > 解决方案 > 如何使用 Python 3 从网站下载 xlsx 文件?

问题描述

我正在尝试自动下载文件并保存。这应该很容易,但我发现了一些困难。

理论上这里应该很容易,你点击自动下载文件。

我尝试了不同的方法(如在此处或在此处输入链接描述的不同帖子中找到的)。这是我当前代码的几个示例:

选项 A)

url = "https://www.gov.scot/binaries/content/documents/govscot/publications/statistics/2020/04/trends-in-number-of-people-in-hospital-with-confirmed-or-suspected-covid-19/documents/trends-in-number-of-people-in-hospital-with-confirmed-or-suspected-covid-19/trends-in-number-of-people-in-hospital-with-confirmed-or-suspected-covid-19/govscot%3Adocument/HSCA%2B-%2BSG%2BWebsite%2B-%2BIndicator%2BTrends%2Bfor%2Bdaily%2Bdata%2Bpublication.xlsx"

response = requests.get(url,stream=False)
with open(dowload_folder_name, 'wb') as out_file:
    shutil.copyfileobj(response.raw, out_file)

选项 B)

xl_df = pd.read_excel(url,
                       sheet_name='Table 5 - Testing',
                       skiprows=range(5),
                       skipfooter=0)

在这两种情况下,我都会得到

urllib.error.URLError: <urlopen error [Errno 60] Operation timed out>

请问有什么建议吗?非常感谢!

标签: python-3.xpandasdownloadpython-requestsxlsx

解决方案


import requests


def main(url):
    r = requests.get(url)
    print(r)
    with open("data.xlsx", 'wb') as f:
        f.write(r.content)


main("https://www.gov.scot/binaries/content/documents/govscot/publications/statistics/2020/04/trends-in-number-of-people-in-hospital-with-confirmed-or-suspected-covid-19/documents/trends-in-number-of-people-in-hospital-with-confirmed-or-suspected-covid-19/trends-in-number-of-people-in-hospital-with-confirmed-or-suspected-covid-19/govscot%3Adocument/HSCA%2B-%2BSG%2BWebsite%2B-%2BIndicator%2BTrends%2Bfor%2Bdaily%2Bdata%2Bpublication.xlsx")

在此处输入图像描述


推荐阅读