def download_file(url, save_path):response = requests.get(url, stream=True)if response.status_code == 200:with open(save_path, 'wb') as f:for chunk in response.iter_content(chunk_size=8192):if chunk:f.write(chunk)print(f"文件已成功下载到 {save_path}")else:print(f"请求失败,状态码为 {response.status_code}")
# 使用示例
url = 'https://example.com/path/to/remote/file' # 替换为实际的远程文件URL
save_path = 'local_file.ext' # 替换为期望的本地保存路径和文件名
download_file(url, save_path)
这个示例中的download_file函数接受一个远程文件的URL和一个本地保存路径作为参数。它使用requests.get()方法发送一个GET请求来获取远程文件的内容,并将stream参数设置为True,以便以流的形式读取响应内容。然后,它检查响应的状态码是否为200,以确保请求成功。如果成功,它打开一个本地文件以二进制写入模式(‘wb’),并使用response.iter_content()方法以块的形式读取远程文件的内容,并将其写入本地文件。最后,它打印一条消息表示文件已成功下载。如果请求失败,它打印一条包含状态码的错误消息。
请确保将示例中的url和save_path替换为实际的远程文件URL和期望的本地保存路径和文件名。
上面的代码可以下载任何类型的文件,包括Excel文件(通常具有.xls或.xlsx扩展名)。因为requests.get()只是获取文件的内容,而open()函数以二进制模式写入内容,所以它不会关心文件的具体类型。
只要远程URL指向的是一个有效的Excel文件,并且你有足够的权限访问它,上面的代码就可以将其下载到本地。一旦文件被下载,你就可以使用像pandas或openpyxl这样的库来读取和处理Excel文件。