<jupyter_start><jupyter_text>[Kaggle/kaggle-api: Official Kaggle API](https://github.com/Kaggle/kaggle-api)캐글 공식 깃헙에 API가 올라왔다. 해당 API는 캐글 사이트에 접속해서 일일이 데이터셋을 다운로드 받지 않고 노트북이나 터미널환경에서 데이터셋 파일을 찾거나 다운로드 받을 수 있으며 경진대회에 참여할 때 서브미션 파일을 API를 통해 제출할 수 있다.  설치* 아나콘다가 아닌 가상환경을 설정해서 설치할 때는 아래 장고걸스 튜토리얼에서 가상환경 부분을 참고한다.* https://tutorial.djangogirls.org/ko/installation/<jupyter_code># !pip install kaggle
!pip show kaggle<jupyter_output>Name: kaggle
Version: 1.0.5
Summary: Kaggle API
Home-page: https://github.com/Kaggle/kaggle-api
Author: Kaggle
Author-email: <EMAIL>
License: Apache 2.0
Location: /Users/corazzon/codes/jupyter/lib/python3.6/site-packages
Requires: urllib3, python-dateutil, six, certifi<jupyter_text>API credentials`https://www.kaggle.com//account` 경로로 접속하면 자신의 프로필 페이지가 나온다. 해당 프로필페이지 하단의 `Create API Token`을 클릭하면 `kaggle.json`이라는 토큰파일이 다운로드 된다.해당 파일을 `~/.kaggle/kaggle.json`위치에 옮겨준다.(윈도우 사용자라면 `C:\Users\\.kaggle\kaggle.json`)<jupyter_code># 캐글 API 설정파일 위치
# .kaggle 이라는 폴더를 ~/ 위치에 만들고 캐글 사이트에서 다운로드 받은파일을 옮겨준다.
!kaggle config path<jupyter_output>Your files will be downloaded to /Users/corazzon/.kaggle<jupyter_text>Competitionkaggle competitions {list, files, download, submit, submissions}kaggle datasets {list, files, download}kaggle config {path}<jupyter_code># 경진대회 API의 도움말 보기
!kaggle competitions list -h
# health에 해당되는 경진대회를 찾아보기
!kaggle competitions list -s health
# nlp와 관련 된 경진대회를 찾아보기
!kaggle competitions list -s nlp
# 튜토리얼과 관련 된 경진대회를 찾아보기
!kaggle competitions list -s tutorial
# 타이타닉 경진대회의 데이터셋을 본다.
!kaggle competitions files -c titanic
# word2vec-nlp-tutorial의 데이터셋을 본다.
!kaggle competitions files -c word2vec-nlp-tutorial
# 타이타닉 경진대회 파일을 다운로드 받는다.
!kaggle competitions download -c titanic
# MACOS를 사용한다면 기본 다운로드 경로는 API credentials을 복사해 놓은 ~/.kaggle 폴더이다.
# 윈도우 에서는 C:\Users\<Windows-username>\.kaggle 에 다운로드 된다.
# 해당 경로에 /competitions/ 이라는 폴더가 생성되었다.
%ls ~/.kaggle
# 다운로드가 제대로 되었는지 확인해 본다.
# ls 명령어는 특정 경로에 어떤 파일이 있는지 확인해 보는 명령어다. 
# %dir # 윈도우 사용자라면 dir로 확인해 본다.
%ls ~/.kaggle/competitions/titanic/
# 특정 폴더에 다운로드 받고자 한다면 다운로드 받을 경로를 지정해 준다.
!kaggle competitions download -c titanic -p ./
# 제대로 다운로드 받았는지 해당 경로를 찾아본다. 윈도우 사용자라면 %ls 대신 %dir을 사용한다.
%ls ./titanic
# 경진대회 파일이 모두 다운로드 받아졌는지 확인해 본다.
!kaggle competitions files -c titanic<jupyter_output>name                   size  creationDate         
---------------------  ----  -------------------  
train.csv              60KB  2013-06-28 13:40:25  
test.csv               28KB  2013-06-28 13:40:24  
gender_submission.csv   3KB  2017-02-01 01:49:18<jupyter_text>Submission`kaggle competitions submit -c favorita-grocery-sales-forecasting -f sample_submission_favorita.csv.7z -m "My submission message"`<jupyter_code># 경진대회의 약관(rule)에 동의했다면 API로 서브미션이 가능하다.
!kaggle competitions submit -c word2vec-nlp-tutorial -f ./word2vec-nlp-tutorial/data/tutorial_4_tfidf_xgboost.csv -m 'API submit msg'
!kaggle competitions submissions -c word2vec-nlp-tutorial<jupyter_output>fileName                                date                 description                                                                                                                                                                                                                                                                                                                                                                                                                                           status    publicScore  privateScore  
--------------------------------------  -------------------  -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------[...]<jupyter_text>Dataset`kaggle datasets {list, files, download}`usage: kaggle datasets list [-h] [-p PAGE] [-s SEARCH] [-v]optional arguments:  -h, --help            show this help message and exit  -p PAGE, --page PAGE  page number  -s SEARCH, --search SEARCH                        term(s) to search for  -v, --csv             print in CSV format                        (if not set print in table format)<jupyter_code># 설문조사와 관련된 데이터셋을 찾아본다. 
!kaggle datasets list -s survey
!kaggle datasets files -d stackoverflow/so-survey-2017
!kaggle datasets files -d zillow/zecon<jupyter_output>name                           size  creationDate         
----------------------------  -----  -------------------  
all_available_metrics.json      3KB  2018-01-24 23:45:58  
cities_crosswalk.csv            1MB  2018-01-24 23:54:02  
City_time_series.csv          658MB  2018-01-24 23:46:25  
County_time_series.csv        108MB  2018-01-24 23:46:05  
CountyCrossWalk_Zillow.csv    227KB  2018-01-24 23:54:02  
DataDictionary.csv              5KB  2018-01-24 23:54:02  
fields_per_level.json          17KB  2018-01-24 23:45:58  
Metro_time_series.csv          54MB  2018-01-24 23:46:02  
Neighborhood_time_series.csv  253MB  2018-01-24 23:46:11  
State_time_series.csv           5MB  2018-01-24 23:53:14  
Zip_time_series.csv           746MB  2018-01-24 23:46:23
{'fraction_non_alphanumeric': 0.1796508353669983, 'fraction_numerical': 0.045616669795382016, 'mean_word_length': 1.5952264978080857, 'pattern_counts': {'":': 0, '<': 18, '<?xml version=': 0, '>': 18, 'https://': 4, 'lorem ipsum': 0, 'www.': 1, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 28, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '5', 'dir': 'jupyter-structured-clean-dedup', 'id': '546600', 'license': 'MIT', 'n_tokens_mistral': 2349, 'n_tokens_neox': 2521, 'n_words': 457, 'path': 'kaggle-api.ipynb', 'repo_name': 'bradsonn/KaggleStruggle', 'size': '5338'}