-2

我想从请求中获取数据并使用 python 将该大型数据集写入 .pbix 文件。目前我使用下面的代码它给了我超时问题: with open(pbix_fileName, 'wb') as report_file: report_file.write(io.BytesIO(response.content).getbuffer()) 这种方法需要超过 3 小时和没有输出。

在此之后我使用了以下方法

requests.get(url, headers=headers,params=params,stream=True) as r: response.raise_for_status() with open(pbix_fileName, 'wb') as report_file: chunk_size = 0 data = b'' for chunk in response.iter_content(chunk_size=1024**2): # 1MB chunks
# print(type(io.BytesIO(chunk).getbuffer())) # data +=io.BytesIO(chunk).getbuffer() data +=chunk total_size += len(chunk) if chunk_size == 50: chunk_size = 0 report_file.write(data) data = b'' chunk_size +=1 report_file.write(io.BytesIO(chunk).getbuffer()) print(f'下载:{total_size / (1024*1024):0.0f}MB')

但仍然需要 1 小时才能下载 80MB。

我们可以使用 python 在几分钟内下载大约 800MB 的数据吗?

4

0 回答 0