kaggle是很多數據分析和機器學習初學者非常喜愛的數據科學競賽平台。
這個平台上有很多接近現實業務場景的數據集,非常適合練手。
今天向大家推薦一個下載kaggle數據集的小工具——kaggleAPI
配置好之后,可以寫個腳本,以后下載數據就方便多了。
安裝
pip install kaggle
安裝完畢之后執行
kaggle compeitions list
然后就會報錯,提示沒有kaggle.json文件,不用理他。
這一步主要是讓其運行后生成配置文件夾,一般在C盤-用戶-用戶名下的.kaggle
配置
登錄kaggle官網
右上角頭像處點擊,選擇Account
進去之后滾動到最下面API處,選擇Create New API Token
然后就會自動下載一個kaggle.json文件,另存到第一步那個.kaggle文件夾
下載數據集
再執行以下
kaggle compeitions list
可以看到近期的一些競賽,重點關注以下獎金😃
除了list,kaggle competitions 還有一些其他用法,不展開講了。
kaggle competitions {list, files, download, submit, submissions, leaderboard}
大家最關心的數據集下載
kaggle datasets{list,files,download,create,version,init,metadata,status}
比較常用的是:list(可用數據集列表)、files(數據文件)、download(下載)
kaggle datasets list
用法
usage: kaggle datasets list [-h] [--sort-by SORT_BY]
[--size SIZE] [--file-type FILE_TYPE] [--license LICENSE_NAME]
[--tags TaG_IDS] [-s SEARCH] [-m] [--user USER] [-p PAGE] [-v]
這個里面還有2個常用的參數: -s 搜索,后面可以加關鍵詞;-p 展示多少行,默認是20
kaggle datasets download
用法
usage: kaggle datasets download
[-h] [-f FILE_NAME] [-p PATH] [-w] [--unzip]
[-o] [-q][dataset]
更真實的用法
如果單純在cmd執行個下載指令就大材小用了,我們還可以用kaggleAPI寫shell腳本完成更復雜的用法,比如:
#!/bin/sh
DATASET="noxmoon/chinese-official-daily-news-since-2016"
ARCHIVE_FILE="chinese-official-daily-news-since-2016.zip"
DATA_FILE="chinese_news.csv"
DATA_DIR="data"
COL_NAME="headline"
LINES=3000
OUTPUT_FILE="headlines.txt"
if [ -d ${DATA_DIR} ]; then
echo ${DATA_DIR}' exists, please remove it before running the script'
exit 1
fi
echo "Creating dir"
mkdir -p ${DATA_DIR}
cd ${DATA_DIR}
kaggle datasets download -d ${DATASET}
unzip ${ARCHIVE_FILE}
echo "Deleting original dataset archive"
rm -f ${ARCHIVE_FILE}
echo "Extracting, cutting, shuffling data"
awk -v col=$COL_NAME -F "\"*,\"*" '{print $COL_NAME}' $DATA_FILE | shuf -n 3000 > ${OUTPUT_FILE}
下載-解壓一氣呵成!