-
Notifications
You must be signed in to change notification settings - Fork 93
Q: 구글 Colab marcap 전체 CSV 다운로드
FinanceData.KR edited this page Jan 3, 2019
·
1 revision
구글 Colab에서 marcap 전체를 하나의 CSV로 PC에 다운로드
!git clone "https://github.com/FinanceData/marcap.git" marcap
# 유틸함수 사용
from marcap.marcap_utils import marcap_date
from marcap.marcap_utils import marcap_date_range
df = marcap_date_range('1995-05-01', '2018-10-31')
print('row count:', len(df))
df.head()
row count: 9584381
Code | Name | Close | Changes | ChagesRatio | Volume | Amount | Open | High | Low | Marcap | MarcapRatio | Stocks | ForeignShares | ForeignRatio | Rank | Date | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 015760 | 한국전력공사 | 27400.0 | -400.0 | -1.4 | 118190.0 | 3.255694e+09 | 27600.0 | 27800.0 | 27400.0 | 1.687268e+13 | NaN | 615791215.0 | NaN | NaN | 1.0 | 1995-05-02 |
1 | 005930 | 삼성전자 | 119500.0 | -1000.0 | -0.8 | 139560.0 | 1.667674e+10 | 121000.0 | 121000.0 | 118500.0 | 6.497053e+12 | NaN | 54368645.0 | NaN | NaN | 2.0 | 1995-05-02 |
2 | 005490 | 포항종합제철 | 65500.0 | -300.0 | -0.5 | 65970.0 | 4.334472e+09 | 65800.0 | 66200.0 | 65400.0 | 6.150569e+12 | NaN | 93901810.0 | NaN | NaN | 3.0 | 1995-05-02 |
3 | 000200 | 대우중공업 | 9800.0 | 300.0 | 3.2 | 288380.0 | 2.805134e+09 | 9500.0 | 9840.0 | 9500.0 | 3.500639e+12 | NaN | 357208059.0 | NaN | NaN | 4.0 | 1995-05-02 |
4 | 002610 | 엘지전자 | 31700.0 | -300.0 | -0.9 | 171460.0 | 5.452050e+09 | 32000.0 | 32000.0 | 31700.0 | 2.521027e+12 | NaN | 79527666.0 | NaN | NaN | 5.0 | 1995-05-02 |
윈도우 엑셀은 기본적으로 인코딩을 EUC-KR로 가정하므로, 유니코드(UTF-8)로 저장된 CSV는 읽었을때 글자가 깨져 보입니다.
윈도우+엑셀을 주로 사용하는 경우 저장할 때 인코딩을 지정하고, 컬럼에 따옴표를 지정하여 묶어주는 것을 권합니다.
import csv
df.to_csv('merged.csv', index=False, encoding='euc-kr', quoting=csv.QUOTE_NONNUMERIC)
!ls -lh
total 1.3G
drwxr-xr-x 6 root 4.0K Jan 3 09:07 marcap
-rw-r--r-- 1 root 1.3G Jan 3 09:11 merged.csv
drwxr-xr-x 1 root 4.0K Dec 18 20:29 msample_data
from google.colab import files
files.download('merged.csv')
----------------------------------------
Exception happened during processing of request from ('::ffff:127.0.0.1', 49380, 0, 0)
Traceback (most recent call last):
File "/usr/lib/python3.6/socketserver.py", line 317, in _handle_request_noblock
self.process_request(request, client_address)
File "/usr/lib/python3.6/socketserver.py", line 348, in process_request
self.finish_request(request, client_address)
File "/usr/lib/python3.6/socketserver.py", line 361, in finish_request
self.RequestHandlerClass(request, client_address, self)
File "/usr/lib/python3.6/socketserver.py", line 721, in __init__
self.handle()
File "/usr/lib/python3.6/http/server.py", line 418, in handle
self.handle_one_request()
File "/usr/lib/python3.6/http/server.py", line 406, in handle_one_request
method()
File "/usr/lib/python3.6/http/server.py", line 639, in do_GET
self.copyfile(f, self.wfile)
File "/usr/lib/python3.6/http/server.py", line 800, in copyfile
shutil.copyfileobj(source, outputfile)
File "/usr/lib/python3.6/shutil.py", line 82, in copyfileobj
fdst.write(buf)
File "/usr/lib/python3.6/socketserver.py", line 800, in write
self._sock.sendall(b)
ConnectionResetError: [Errno 104] Connection reset by peer
----------------------------------------
위 에러는 파일 전송에서 생긴 에러입니다. files.download() 에서 파일이 너무 큰 경우 발생합니다. 파일이 100M를 넘는 경우 Google Drive를 통해 받으시는 것을 추천합니다.
Google Drive 에 마운트 하여 구글 Drive에 저장(혹은 구글 Drive로 복사)합니다
from google.colab import drive
drive.mount('/gdrive')
!cp merged.csv "/gdrive/My Drive/"
!ls -lh "/gdrive/My Drive/merged.csv"
-rw------- 1 root root 1.3G Jan 3 09:19 '/gdrive/My Drive/merged.csv'