机器学习_利用python从网上自动下载数据

本文介绍了一种使用Python自动从互联网下载数据并解压缩的实用方法,通过定义一个download函数,结合os、tarfile和urllib库,实现数据的高效获取与处理,适用于机器学习项目的初步数据准备。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

机器学习一个必要的前提条件就是获得大量数据,尤其对于我们刚开始接触机器学习的时候,网上提供了大量开源数据源,方便我们进行学习,但是这些数据源会随着时间变换,因此萌生一个自动下载数据的方法,刚好网上也有很多的方法,结合别的博客主的方法和自己的理解写了一个利用python自动获取数据的函数。


相关的库文件:os、tarfile、urllib

import os
import tarfile
import urllib
from urllib.request import urlretrieve
def download(url,savepath):
    """
    :param url: 下载路径
    :param savepath:保存路径
    :return:
    """
    filename=os.path.basename(url)
    filepath=os.path.join(savefile,filename)
    if not os.path.isdir(savefile):
        #如果不存在我们设置的保存文件夹,则自动生成一个
        os.makedirs(savefile)
        
        #下载文件
        urlretrieve(url,filepath)
        
        #打开我们的文件
        downfile=tarfile.open(filepath)
        
        #解压我们的文件
        downfile.extractall(savefile)
        
        #关闭读写操作
        downfile.close()
        print("download finished")
    else:
        print("file has existed")
if __name__ == '__main__':
    url="https://raw.githubusercontent.com/ageron/handson-ml/master/datasets/housing/housing.tgz"
    savefile="./chapter1/data"

 

当然也可以定义一个reporthook函数,能够方便的显示下载进度,这里用不到,所以没有写出来

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值