import requests
import pandas as pd
# 구글 검색 = 환율 무료 api
# 간단한 API 제공 사이트 happycgi
# 홈페이지 바로가기 클릭
# 왼쪽 위 메뉴 -> exchange -> index 클릭
# 아래 주소 획득
url= 'https://api.manana.kr/exchange.json'
# 해당 주소의 서버에 요청(request) 를 보내고, 그 결과를 req 로 저장한다.
req = requests.get(url)
# 이 결과는 json 이라는 형태로 들어오게 되는데
# 이는 결국 파이썬에서 리스트와 딕셔너리의 조합으로 다루게 된다.
# .json() 이후부터는 리스트의 인덱싱과 딕셔너리의 키로 조회하는 방법을 사용한다.
result = req.json()
result
[{'symbol': 'CNH=X',
'name': 'USD/CNH',
'price': '7.057600',
'date': '2019-08-21 14:56:01'},
{'symbol': 'HUF=X',
'name': 'USD/HUF',
'price': '294.870000',
'date': '2019-08-21 14:56:01',
'kr': '헝가리 포린트',
'en': 'Hungarian forint',
'jp': 'フォリント'},
{'symbol': 'ILS=X',
'name': 'USD/ILS',
'price': '3.526100',
'date': '2019-08-21 14:56:01',
'kr': '이스라엘 신 셰켈',
'en': 'Israeli new shekel',
'jp': '新シェケル'},
{'symbol': 'NOK=X',
'name': 'USD/NOK',
'price': '8.984840',
'date': '2019-08-21 14:56:01',
'kr': '노르웨이 크로네',
'en': 'Norwegian krone',
'jp': 'ノルウェー・クローネ'},
{'symbol': 'RUB=X',
'name': 'USD/RUB',
'price': '66.400300',
'date': '2019-08-21 14:56:01',
'kr': '러시아 루블',
'en': 'Russian ruble',
'jp': 'ロシア・ルーブル'},
{'symbol': 'SEK=X',
'name': 'USD/SEK',
'price': '9.685910',
'date': '2019-08-21 14:56:01',
'kr': '스웨덴 크로나/크로노르',
'en': 'Swedish krona/kronor',
'jp': 'スウェーデン・クローナ'},
{'symbol': 'AUD=X',
'name': 'USD/AUD',
'price': '1.474300',
'date': '2019-08-21 14:56:00',
'kr': '오스트레일리아 달러',
'en': 'Australian dollar',
'jp': 'オーストラリア・ドル'},
{'symbol': 'DKK=X',
'name': 'USD/DKK',
'price': '6.720400',
'date': '2019-08-21 14:56:00',
'kr': '덴마크 크로네',
'en': 'Danish krone',
'jp': 'デンマーク・クローネ'},
{'symbol': 'JPY=X',
'name': 'USD/JPY',
'price': '106.487000',
'date': '2019-08-21 14:56:00',
'kr': '일본 엔',
'en': 'Japanese yen',
'jp': '円'},
{'symbol': 'NZD=X',
'name': 'USD/NZD',
'price': '1.559500',
'date': '2019-08-21 14:56:00',
'kr': '뉴질랜드 달러',
'en': 'New Zealand dollar',
'jp': 'ニュージーランド・ドル'},
{'symbol': 'PLN=X',
'name': 'USD/PLN',
'price': '3.929700',
'date': '2019-08-21 14:56:00',
'kr': '폴란드 즈워티',
'en': 'Polish złoty',
'jp': 'ズウォティ'},
{'symbol': 'MXN=X',
'name': 'USD/MXN',
'price': '19.740100',
'date': '2019-08-21 14:55:59',
'kr': '멕시코 페소',
'en': 'Mexican peso',
'jp': 'メキシコ・ペソ'},
{'symbol': 'ZAR=X',
'name': 'USD/ZAR',
'price': '15.328600',
'date': '2019-08-21 14:55:59',
'kr': '남아프리카 공화국 랜드',
'en': 'South African rand',
'jp': 'ランド'},
{'symbol': 'TRY=X',
'name': 'USD/TRY',
'price': '5.732000',
'date': '2019-08-21 14:55:55',
'kr': '터키 리라',
'en': 'Turkish lira',
'jp': '新トルコリラ'},
{'symbol': 'CHF=X',
'name': 'USD/CHF',
'price': '0.979240',
'date': '2019-08-21 14:55:54',
'kr': '스위스 프랑',
'en': 'Swiss franc',
'jp': 'スイス・フラン'},
{'symbol': 'TWD=X',
'name': 'USD/TWD',
'price': '31.310000',
'date': '2019-08-21 14:55:53',
'kr': '신 타이완 달러',
'en': 'New Taiwan dollar',
'jp': 'ニュー台湾ドル'},
{'symbol': 'CZK=X',
'name': 'USD/CZK',
'price': '23.236000',
'date': '2019-08-21 14:55:52',
'kr': '체코 코루나',
'en': 'Czech koruna',
'jp': 'チェコ・コルナ'},
{'symbol': 'RON=X',
'name': 'USD/RON',
'price': '4.260800',
'date': '2019-08-21 14:55:51',
'kr': '루마니아 레우',
'en': 'Romanian leu',
'jp': '新ルーマニア・レウ'},
{'symbol': 'BAM=X',
'name': 'USD/BAM',
'price': '1.765500',
'date': '2019-08-21 14:55:00',
'kr': '보스니아 헤르체고비나 태환 마르카',
'en': 'Bosnia and Herzegovina convertible mark',
'jp': '兌換マルク'},
{'symbol': 'MOP=X',
'name': 'USD/MOP',
'price': '8.078000',
'date': '2019-08-21 14:55:00',
'kr': '마카오 파타카',
'en': 'Macanese pataca',
'jp': 'パタカ'},
{'symbol': 'PGK=X',
'name': 'USD/PGK',
'price': '3.393100',
'date': '2019-08-21 14:55:00',
'kr': '파푸아뉴기니 키나',
'en': 'Papua New Guinean kina',
'jp': 'キナ'},
{'symbol': 'XAF=X',
'name': 'USD/XAF',
'price': '590.770000',
'date': '2019-08-21 14:55:00',
'kr': 'CFA 프랑 BEAC',
'en': 'CFA franc BEAC',
'jp': 'CFAフラン'},
{'symbol': 'XOF=X',
'name': 'USD/XOF',
'price': '590.770000',
'date': '2019-08-21 14:55:00',
'kr': 'CFA 프랑 BCEAO',
'en': 'CFA franc BCEAO',
'jp': 'CFAフラン'},
{'symbol': 'INR=X',
'name': 'USD/INR',
'price': '71.547500',
'date': '2019-08-21 14:54:58',
'kr': '인도 루피',
'en': 'Indian rupee',
'jp': 'インド・ルピー'},
{'symbol': 'CAD=X',
'name': 'USD/CAD',
'price': '1.330700',
'date': '2019-08-21 14:54:00',
'kr': '캐나다 달러',
'en': 'Canadian dollar',
'jp': 'カナダ・ドル'},
{'symbol': 'GBP=X',
'name': 'USD/GBP',
'price': '0.823180',
'date': '2019-08-21 14:54:00',
'kr': '파운드 스털링',
'en': 'Pound sterling',
'jp': 'UKポンド'},
{'symbol': 'SGD=X',
'name': 'USD/SGD',
'price': '1.383890',
'date': '2019-08-21 14:53:59',
'kr': '싱가포르 달러',
'en': 'Singapore dollar',
'jp': 'シンガポール・ドル'},
{'symbol': 'HKD=X',
'name': 'USD/HKD',
'price': '7.843200',
'date': '2019-08-21 14:53:44',
'kr': '홍콩 달러',
'en': 'Hong Kong dollar',
'jp': '香港ドル'},
{'symbol': 'THB=X',
'name': 'USD/THB',
'price': '30.760000',
'date': '2019-08-21 14:53:37',
'kr': '타이 밧',
'en': 'Thai baht',
'jp': 'バーツ'},
{'symbol': 'EUR=X',
'name': 'USD/EUR',
'price': '0.901100',
'date': '2019-08-21 14:53:00',
'kr': '유로',
'en': 'Euro',
'jp': 'ユーロ'},
{'symbol': 'CNY=X',
'name': 'USD/CNY',
'price': '7.054900',
'date': '2019-08-21 14:50:34',
'kr': '중국 위안',
'en': 'Chinese yuan',
'jp': '人民元'},
{'symbol': 'BDT=X',
'name': 'USD/BDT',
'price': '84.500000',
'date': '2019-08-21 14:39:04',
'kr': '방글라데시 타카',
'en': 'Bangladeshi taka',
'jp': 'タカ'},
{'symbol': 'IDR=X',
'name': 'USD/IDR',
'price': '14240.000000',
'date': '2019-08-21 14:39:04',
'kr': '인도네시아 루피아',
'en': 'Indonesian rupiah',
'jp': 'ルピア'},
{'symbol': 'KRW=X',
'name': 'USD/KRW',
'price': '1202.400000',
'date': '2019-08-21 14:39:04',
'kr': '대한민국 원',
'en': 'South Korean won',
'jp': 'ウォン'},
{'symbol': 'LKR=X',
'name': 'USD/LKR',
'price': '178.134000',
'date': '2019-08-21 14:39:04',
'kr': '스리랑카 루피',
'en': 'Sri Lankan rupee',
'jp': 'スリランカ・ルピー'},
{'symbol': 'MUR=X',
'name': 'USD/MUR',
'price': '35.330000',
'date': '2019-08-21 14:39:04',
'kr': '모리셔스 루피',
'en': 'Mauritian rupee',
'jp': 'モーリシャス・ルピー'},
{'symbol': 'MYR=X',
'name': 'USD/MYR',
'price': '4.174000',
'date': '2019-08-21 14:39:04',
'kr': '말레이시아 링깃',
'en': 'Malaysian ringgit',
'jp': 'リンギット'},
{'symbol': 'NPR=X',
'name': 'USD/NPR',
'price': '114.200000',
'date': '2019-08-21 14:39:04',
'kr': '네팔 루피',
'en': 'Nepalese rupee',
'jp': 'ネパール・ルピー'},
{'symbol': 'PHP=X',
'name': 'USD/PHP',
'price': '52.230000',
'date': '2019-08-21 14:39:04',
'kr': '필리핀 페소',
'en': 'Philippine peso',
'jp': 'フィリピン・ペソ'},
{'symbol': 'PKR=X',
'name': 'USD/PKR',
'price': '158.830000',
'date': '2019-08-21 14:39:04',
'kr': '파키스탄 루피',
'en': 'Pakistani rupee',
'jp': 'パキスタン・ルピー'},
{'symbol': 'VND=X',
'name': 'USD/VND',
'price': '23140.000000',
'date': '2019-08-21 14:31:25',
'kr': '베트남 동',
'en': 'Vietnamese dong',
'jp': 'ドン'},
{'symbol': 'AZN=X',
'name': 'USD/AZN',
'price': '1.699500',
'date': '2019-08-21 14:30:06',
'kr': '아제르바이잔 마나트',
'en': 'Azerbaijani manat',
'jp': 'アゼルバイジャン・マナト'},
{'symbol': 'AED=X',
'name': 'USD/AED',
'price': '3.672600',
'date': '2019-08-21 14:21:36',
'kr': '아랍에미리트 디르함',
'en': 'United Arab Emirates dirham',
'jp': 'UAEディルハム'},
{'symbol': 'BBD=X',
'name': 'USD/BBD',
'price': '2.000000',
'date': '2019-08-21 14:00:00',
'kr': '바베이도스 달러',
'en': 'Barbados dollar',
'jp': 'バルバドス・ドル'},
{'symbol': 'BMD=X',
'name': 'USD/BMD',
'price': '1.000000',
'date': '2019-08-21 14:00:00',
'kr': '버뮤다 달러',
'en': 'Bermudian dollar',
'jp': 'バミューダ・ドル'},
{'symbol': 'CUP=X',
'name': 'USD/CUP',
'price': '1.000000',
'date': '2019-08-21 14:00:00',
'kr': '쿠바 페소',
'en': 'Cuban peso',
'jp': 'キューバ・ペソ'},
{'symbol': 'KPW=X',
'name': 'USD/KPW',
'price': '900.000000',
'date': '2019-08-21 14:00:00',
'kr': '조선민주주의인민공화국 원',
'en': 'North Korean won',
'jp': 'ウォン'},
{'symbol': 'KYD=X',
'name': 'USD/KYD',
'price': '0.820000',
'date': '2019-08-21 14:00:00',
'kr': '케이맨 제도 달러',
'en': 'Cayman Islands dollar',
'jp': 'ケイマン諸島・ドル'},
{'symbol': 'PAB=X',
'name': 'USD/PAB',
'price': '1.000000',
'date': '2019-08-21 14:00:00',
'kr': '파나마 발보아',
'en': 'Panamanian balboa',
'jp': 'バルボア'},
{'symbol': 'SVC=X',
'name': 'USD/SVC',
'price': '8.750000',
'date': '2019-08-21 14:00:00',
'kr': '엘살바도르 콜론',
'en': 'Salvadoran colón',
'jp': 'サルバドール・コロン'},
{'symbol': 'USD=X',
'name': 'USD',
'price': '1.000000',
'date': '2019-08-21 14:00:00',
'kr': '미국 달러',
'en': 'United States dollar',
'jp': 'アメリカ合衆国ドル'},
{'symbol': 'XCD=X',
'name': 'USD/XCD',
'price': '2.700000',
'date': '2019-08-21 14:00:00',
'kr': '동카리브 달러',
'en': 'East Caribbean dollar',
'jp': '東カリブ・ドル'},
{'symbol': 'FKP=X',
'name': 'USD/FKP',
'price': '0.821900',
'date': '2019-08-21 13:00:00',
'kr': '포클랜드 제도 파운드',
'en': 'Falkland Islands pound',
'jp': 'フォークランド諸島・ポンド'},
{'symbol': 'GIP=X',
'name': 'USD/GIP',
'price': '0.822200',
'date': '2019-08-21 13:00:00',
'kr': '지브롤터 파운드',
'en': 'Gibraltar pound',
'jp': 'ジブラルタル・ポンド'},
{'symbol': 'SHP=X',
'name': 'USD/SHP',
'price': '0.822200',
'date': '2019-08-21 13:00:00',
'kr': '세인트헬레나 파운드',
'en': 'Saint Helena pound',
'jp': 'セントヘレナ・ポンド'},
{'symbol': 'BND=X',
'name': 'USD/BND',
'price': '1.383600',
'date': '2019-08-21 12:19:38',
'kr': '브루나이 달러',
'en': 'Brunei dollar',
'jp': 'ブルネイ・ドル'},
{'symbol': 'NAD=X',
'name': 'USD/NAD',
'price': '15.329000',
'date': '2019-08-21 12:19:38',
'kr': '나미비아 달러',
'en': 'Namibian dollar',
'jp': 'ナミビア・ドル'},
{'symbol': 'SZL=X',
'name': 'USD/SZL',
'price': '15.329000',
'date': '2019-08-21 12:19:38',
'kr': '스와질란드 릴랑게니',
'en': 'Swazi lilangeni',
'jp': 'リランゲニ'},
{'symbol': 'TND=X',
'name': 'USD/TND',
'price': '2.864000',
'date': '2019-08-21 12:19:38',
'kr': '튀니지 디나르',
'en': 'Tunisian dinar',
'jp': 'チュニジア・ディナール'},
{'symbol': 'MAD=X',
'name': 'USD/MAD',
'price': '9.594000',
'date': '2019-08-21 12:19:36',
'kr': '모로코 디르함',
'en': 'Moroccan dirham',
'jp': 'モロッコ・ディルハム'},
{'symbol': 'XPF=X',
'name': 'USD/XPF',
'price': '106.900000',
'date': '2019-08-21 12:17:10',
'kr': 'CFP 프랑 (franc Pacifique)',
'en': 'CFP franc (franc Pacifique)',
'jp': 'CFPフラン'},
{'symbol': 'QAR=X',
'name': 'USD/QAR',
'price': '3.639800',
'date': '2019-08-21 12:15:32',
'kr': '카타르 리얄',
'en': 'Qatari riyal',
'jp': 'カタール・リヤル'},
{'symbol': 'BTN=X',
'name': 'USD/BTN',
'price': '71.040000',
'date': '2019-08-21 12:09:27',
'kr': '부탄 눌트럼',
'en': 'Bhutanese ngultrum',
'jp': 'ニュルタム'},
{'symbol': 'KZT=X',
'name': 'USD/KZT',
'price': '386.610000',
'date': '2019-08-21 11:55:46',
'kr': '카자흐스탄 텡게',
'en': 'Kazakhstani tenge',
'jp': 'テンゲ'},
{'symbol': 'TOP=X',
'name': 'USD/TOP',
'price': '2.375600',
'date': '2019-08-21 11:55:00',
'kr': '통가 팡가',
'en': 'Tongan paʻanga',
'jp': 'パアンガ'},
{'symbol': 'WST=X',
'name': 'USD/WST',
'price': '2.709700',
'date': '2019-08-21 11:55:00',
'kr': '사모아 탈라',
'en': 'Samoan tala',
'jp': 'タラ'},
{'symbol': 'SCR=X',
'name': 'USD/SCR',
'price': '13.560000',
'date': '2019-08-21 11:52:37',
'kr': '세이셸 루피',
'en': 'Seychelles rupee',
'jp': 'セーシェル・ルピー'},
{'symbol': 'SRD=X',
'name': 'USD/SRD',
'price': '7.420000',
'date': '2019-08-21 11:52:37',
'kr': '수리남 달러',
'en': 'Surinamese dollar',
'jp': 'スリナム・ドル'},
{'symbol': 'MZN=X',
'name': 'USD/MZN',
'price': '60.200000',
'date': '2019-08-21 11:52:36',
'kr': '모잠비크 메티칼',
'en': 'Mozambican metical',
'jp': 'メティカル'},
{'symbol': 'ERN=X',
'name': 'USD/ERN',
'price': '14.990000',
'date': '2019-08-21 11:52:35',
'kr': '에리트레아 낙파',
'en': 'Eritrean nakfa',
'jp': 'ナクファ'},
{'symbol': 'GNF=X',
'name': 'USD/GNF',
'price': '9161.000000',
'date': '2019-08-21 11:52:35',
'kr': '기니 프랑',
'en': 'Guinean franc',
'jp': 'ギニア・フラン'},
{'symbol': 'HNL=X',
'name': 'USD/HNL',
'price': '24.475000',
'date': '2019-08-21 11:52:35',
'kr': '온두라스 렘피라',
'en': 'Honduran lempira',
'jp': 'レンピラ'},
{'symbol': 'CRC=X',
'name': 'USD/CRC',
'price': '562.250000',
'date': '2019-08-21 11:52:34',
'kr': '코스타리카 콜론',
'en': 'Costa Rican colon',
'jp': 'コスタリカ・コロン'},
{'symbol': 'ARS=X',
'name': 'USD/ARS',
'price': '54.709000',
'date': '2019-08-21 11:28:17',
'kr': '아르헨티나 페소',
'en': 'Argentine peso',
'jp': 'アルゼンチン・ペソ'},
{'symbol': 'BRL=X',
'name': 'USD/BRL',
'price': '4.052800',
'date': '2019-08-21 11:28:17',
'kr': '브라질 헤알',
'en': 'Brazilian real',
'jp': 'レアル'},
{'symbol': 'DZD=X',
'name': 'USD/DZD',
'price': '119.821000',
'date': '2019-08-21 11:28:17',
'kr': '알제리 디나르',
'en': 'Algerian dinar',
'jp': 'アルジェリア・ディナール'},
{'symbol': 'EGP=X',
'name': 'USD/EGP',
'price': '16.550000',
'date': '2019-08-21 11:28:17',
'kr': '이집트 파운드',
'en': 'Egyptian pound',
'jp': 'エジプト・ポンド'},
{'symbol': 'GYD=X',
'name': 'USD/GYD',
'price': '207.480000',
'date': '2019-08-21 11:28:17',
'kr': '가이아나 달러',
'en': 'Guyanese dollar',
'jp': 'ガイアナ・ドル'},
{'symbol': 'KHR=X',
'name': 'USD/KHR',
'price': '4031.800000',
'date': '2019-08-21 11:28:17',
'kr': '캄보디아 리엘',
'en': 'Cambodian riel',
'jp': 'リエル'},
{'symbol': 'KWD=X',
'name': 'USD/KWD',
'price': '0.304100',
'date': '2019-08-21 11:28:17',
'kr': '쿠웨이트 디나르',
'en': 'Kuwaiti dinar',
'jp': 'クウェート・ディナール'},
{'symbol': 'LAK=X',
'name': 'USD/LAK',
'price': '8711.000000',
'date': '2019-08-21 11:28:17',
'kr': '라오스 킵',
'en': 'Lao kip',
'jp': 'キープ'},
{'symbol': 'MVR=X',
'name': 'USD/MVR',
'price': '15.570000',
'date': '2019-08-21 11:28:17',
'kr': '몰디브 루피야',
'en': 'Maldivian rufiyaa',
'jp': 'ルフィヤ'},
{'symbol': 'MWK=X',
'name': 'USD/MWK',
'price': '721.550000',
'date': '2019-08-21 11:28:17',
'kr': '말라위 콰차',
'en': 'Malawian kwacha',
'jp': 'マラウイ・クワチャ'},
{'symbol': 'OMR=X',
'name': 'USD/OMR',
'price': '0.384800',
'date': '2019-08-21 11:28:17',
'kr': '오만 리알',
'en': 'Omani rial',
'jp': 'オマーン・リアル'},
{'symbol': 'PYG=X',
'name': 'USD/PYG',
'price': '6126.000000',
'date': '2019-08-21 11:28:17',
'kr': '파라과이 과라니',
'en': 'Paraguayan guaraní',
'jp': 'グアラニー'},
{'symbol': 'SLL=X',
'name': 'USD/SLL',
'price': '9250.000000',
'date': '2019-08-21 11:28:17',
'kr': '시에라리온 리온',
'en': 'Sierra Leonean leone',
'jp': 'レオン'},
{'symbol': 'TZS=X',
'name': 'USD/TZS',
'price': '2293.000000',
'date': '2019-08-21 11:28:17',
'kr': '탄자니아 실링',
'en': 'Tanzanian shilling',
'jp': 'タンザニア・シリング'},
{'symbol': 'VUV=X',
'name': 'USD/VUV',
'price': '114.770000',
'date': '2019-08-21 11:28:17',
'kr': '바누아투 바투',
'en': 'Vanuatu vatu',
'jp': 'バツ'},
{'symbol': 'AFN=X',
'name': 'USD/AFN',
'price': '78.420000',
'date': '2019-08-21 11:28:16',
'kr': '아프가니스탄 아프가니',
'en': 'Afghan afghani',
'jp': 'アフガニ'},
{'symbol': 'ANG=X',
'name': 'USD/ANG',
'price': '1.784000',
'date': '2019-08-21 11:28:16',
'kr': '네덜란드령 안틸레스 휠던',
'en': 'Netherlands Antillean guilder',
'jp': 'アンティル・ギルダー'},
{'symbol': 'AWG=X',
'name': 'USD/AWG',
'price': '1.780000',
'date': '2019-08-21 11:28:16',
'kr': '아루바 플로린',
'en': 'Aruban florin',
'jp': 'アルバ・フロリン'},
{'symbol': 'BHD=X',
'name': 'USD/BHD',
'price': '0.376900',
'date': '2019-08-21 11:28:16',
'kr': '바레인 디나르',
'en': 'Bahraini dinar',
'jp': 'バーレーン・ディナール'},
{'symbol': 'BIF=X',
'name': 'USD/BIF',
'price': '1816.700000',
'date': '2019-08-21 11:28:16',
'kr': '부룬디 프랑',
'en': 'Burundian franc',
'jp': 'ブルンジ・フラン'},
{'symbol': 'BOB=X',
'name': 'USD/BOB',
'price': '6.840000',
'date': '2019-08-21 11:28:16',
'kr': '볼리비아 볼리비아노',
'en': 'Boliviano',
'jp': 'ボリビアーノ'},
{'symbol': 'BSD=X',
'name': 'USD/BSD',
'price': '1.000000',
'date': '2019-08-21 11:28:16',
'kr': '바하마 달러',
'en': 'Bahamian dollar',
'jp': 'バハマ・ドル'},
{'symbol': 'BYN=X',
'name': 'USD/BYN',
'price': '2.100000',
'date': '2019-08-21 11:28:16',
'kr': '신 벨라루스 루블',
'en': 'New Belarusian ruble'},
{'symbol': 'BZD=X',
'name': 'USD/BZD',
'price': '1.997800',
'date': '2019-08-21 11:28:16',
'kr': '벨리즈 달러',
'en': 'Belize dollar',
'jp': 'ベリーズ・ドル'},
{'symbol': 'CDF=X',
'name': 'USD/CDF',
'price': '1634.990000',
'date': '2019-08-21 11:28:16',
'kr': '콩고 프랑',
'en': 'Congolese franc',
'jp': 'コンゴ・フラン'},
{'symbol': 'COP=X',
'name': 'USD/COP',
'price': '3404.000000',
'date': '2019-08-21 11:28:16',
'kr': '콜롬비아 페소',
'en': 'Colombian peso',
'jp': 'コロンビア・ペソ'},
{'symbol': 'CVE=X',
'name': 'USD/CVE',
'price': '97.500000',
'date': '2019-08-21 11:28:16',
'kr': '카보베르데 이스쿠두',
'en': 'Cape Verde escudo',
'jp': 'カーボベルデ・エスクード'},
{'symbol': 'DJF=X',
'name': 'USD/DJF',
'price': '177.500000',
'date': '2019-08-21 11:28:16',
'kr': '지부티 프랑',
'en': 'Djiboutian franc',
'jp': 'ジブチ・フラン'},
{'symbol': 'DOP=X',
'name': 'USD/DOP',
'price': '51.060000',
'date': '2019-08-21 11:28:16',
'kr': '도미니카 페소',
'en': 'Dominican peso',
'jp': 'ドミニカ・ペソ'},
{'symbol': 'GHS=X',
'name': 'USD/GHS',
'price': '5.438500',
'date': '2019-08-21 11:28:16',
'kr': '가나 세디',
'en': 'Ghanaian cedi',
'jp': 'セディ'},
{'symbol': 'GTQ=X',
'name': 'USD/GTQ',
'price': '7.631000',
'date': '2019-08-21 11:28:16',
'kr': '과테말라 케찰',
'en': 'Guatemalan quetzal',
'jp': 'ケツァル'},
{'symbol': 'HTG=X',
'name': 'USD/HTG',
'price': '93.320000',
'date': '2019-08-21 11:28:16',
'kr': '아이티 구르드',
'en': 'Haitian gourde',
'jp': 'グールド'},
{'symbol': 'IQD=X',
'name': 'USD/IQD',
'price': '1189.000000',
'date': '2019-08-21 11:28:16',
'kr': '이라크 디나르',
'en': 'Iraqi dinar',
'jp': 'イラク・ディナール'},
{'symbol': 'IRR=X',
'name': 'USD/IRR',
'price': '42000.000000',
'date': '2019-08-21 11:28:16',
'kr': '이란 리알',
'en': 'Iranian rial',
'jp': 'イラン・リヤル'},
{'symbol': 'JMD=X',
'name': 'USD/JMD',
'price': '134.110000',
'date': '2019-08-21 11:28:16',
'kr': '자메이카 달러',
'en': 'Jamaican dollar',
'jp': 'ジャマイカ・ドル'},
{'symbol': 'JOD=X',
'name': 'USD/JOD',
'price': '0.707500',
'date': '2019-08-21 11:28:16',
'kr': '요르단 디나르',
'en': 'Jordanian dinar',
'jp': 'ヨルダン・ディナール'},
{'symbol': 'KES=X',
'name': 'USD/KES',
'price': '102.750000',
'date': '2019-08-21 11:28:16',
'kr': '케냐 실링',
'en': 'Kenyan shilling',
'jp': 'ケニア・シリング'},
{'symbol': 'KMF=X',
'name': 'USD/KMF',
'price': '442.980000',
'date': '2019-08-21 11:28:16',
'kr': '코모로 프랑',
'en': 'Comoro franc',
'jp': 'コモロ・フラン'},
{'symbol': 'LBP=X',
'name': 'USD/LBP',
'price': '1505.500000',
'date': '2019-08-21 11:28:16',
'kr': '레바논 파운드',
'en': 'Lebanese pound',
'jp': 'レバノン・ポンド'},
{'symbol': 'LRD=X',
'name': 'USD/LRD',
'price': '203.910000',
'date': '2019-08-21 11:28:16',
'kr': '라이베리아 달러',
'en': 'Liberian dollar',
'jp': 'リベリア・ドル'},
{'symbol': 'LYD=X',
'name': 'USD/LYD',
'price': '1.406100',
'date': '2019-08-21 11:28:16',
'kr': '리비아 디나르',
'en': 'Libyan dinar',
'jp': 'リビア・ディナール'},
{'symbol': 'MDL=X',
'name': 'USD/MDL',
'price': '17.580000',
'date': '2019-08-21 11:28:16',
'kr': '몰도바 레우',
'en': 'Moldovan leu',
'jp': 'モルドバ・レウ'},
{'symbol': 'MKD=X',
'name': 'USD/MKD',
'price': '54.350000',
'date': '2019-08-21 11:28:16',
'kr': '마케도니아 데나르',
'en': 'Macedonian denar',
'jp': 'マケドニア・デナール'},
{'symbol': 'MMK=X',
'name': 'USD/MMK',
'price': '1520.000000',
'date': '2019-08-21 11:28:16',
'kr': '미얀마 짯',
'en': 'Myanmar kyat',
'jp': 'チャット'},
{'symbol': 'MNT=X',
'name': 'USD/MNT',
'price': '2659.000000',
'date': '2019-08-21 11:28:16',
'kr': '몽골 투그릭',
'en': 'Mongolian tögrög',
'jp': 'トゥグルグ'},
{'symbol': 'PEN=X',
'name': 'USD/PEN',
'price': '3.381500',
'date': '2019-08-21 11:28:16',
'kr': '페루 솔',
'en': 'Peruvian Sol',
'jp': 'ヌエボ・ソル'},
{'symbol': 'RWF=X',
'name': 'USD/RWF',
'price': '881.770000',
'date': '2019-08-21 11:28:16',
'kr': '르완다 프랑',
'en': 'Rwandan franc',
'jp': 'ルワンダ・フラン'},
{'symbol': 'SAR=X',
'name': 'USD/SAR',
'price': '3.750200',
'date': '2019-08-21 11:28:16',
'kr': '사우디아라비아 리얄',
'en': 'Saudi riyal',
'jp': 'サウジアラビア・リヤル'},
{'symbol': 'SDG=X',
'name': 'USD/SDG',
'price': '45.000200',
'date': '2019-08-21 11:28:16',
'kr': '수단 파운드',
'en': 'Sudanese pound',
'jp': 'スーダン・ポンド'},
{'symbol': 'SYP=X',
'name': 'USD/SYP',
'price': '514.980000',
'date': '2019-08-21 11:28:16',
'kr': '시리아 파운드',
'en': 'Syrian pound',
'jp': 'シリア・ポンド'},
{'symbol': 'TTD=X',
'name': 'USD/TTD',
'price': '6.738200',
'date': '2019-08-21 11:28:16',
'kr': '트리니다드 토바고 달러',
'en': 'Trinidad and Tobago dollar',
'jp': 'トリニダード・トバゴ・ドル'},
{'symbol': 'UAH=X',
'name': 'USD/UAH',
'price': '25.141000',
'date': '2019-08-21 11:28:16',
'kr': '우크라이나 흐리우냐',
'en': 'Ukrainian hryvnia',
'jp': 'フリヴニャ'},
{'symbol': 'UGX=X',
'name': 'USD/UGX',
'price': '3734.000000',
'date': '2019-08-21 11:28:16',
'kr': '우간다 실링',
'en': 'Ugandan shilling',
'jp': 'ウガンダ・シリング'},
{'symbol': 'UYU=X',
'name': 'USD/UYU',
'price': '34.054000',
'date': '2019-08-21 11:28:16',
'kr': '우루과이 페소',
'en': 'Uruguayan peso',
'jp': 'ウルグアイ・ペソ'},
{'symbol': 'YER=X',
'name': 'USD/YER',
'price': '249.300000',
'date': '2019-08-21 11:28:16',
'kr': '예멘 리알',
'en': 'Yemeni rial',
'jp': 'イエメン・リアル'},
{'symbol': 'ZMW=X',
'name': 'USD/ZMW',
'price': '13.080000',
'date': '2019-08-21 11:28:16',
'kr': '잠비아 콰차',
'en': 'Zambian kwacha'},
{'symbol': 'TJS=X',
'name': 'USD/TJS',
'price': '9.699500',
'date': '2019-08-21 11:00:13',
'kr': '타지키스탄 소모니',
'en': 'Tajikistani somoni',
'jp': 'ソモニ'},
{'symbol': 'CLP=X',
'name': 'USD/CLP',
'price': '709.000000',
'date': '2019-08-21 06:00:03',
'kr': '칠레 페소',
'en': 'Chilean peso',
'jp': 'チリ・ペソ'},
{'symbol': 'CLF=X',
'name': 'USD/CLF',
'price': '0.025120',
'date': '2019-08-21 03:10:00',
'kr': 'Unidad de Fomento (기금부호)',
'en': 'Unidad de Fomento (funds code)'},
{'symbol': 'BRX=X',
'name': 'USD/BRX',
'price': '4.041900',
'date': '2019-08-21 01:15:03'},
{'symbol': 'HRK=X',
'name': 'USD/HRK',
'price': '6.651900',
'date': '2019-08-21 00:33:01',
'kr': '크로아티아 쿠나',
'en': 'Croatian kuna',
'jp': 'クーナ'},
{'symbol': 'BGN=X',
'name': 'USD/BGN',
'price': '1.765830',
'date': '2019-08-20 23:15:05',
'kr': '불가리아 레프',
'en': 'Bulgarian lev',
'jp': 'レフ'},
{'symbol': 'XDR=X',
'name': 'USD/XDR',
'price': '0.729597',
'date': '2019-08-20 22:50:01',
'kr': '특별인출권',
'en': 'Special drawing rights',
'jp': '特別引出権'},
{'symbol': 'ALL=X',
'name': 'USD/ALL',
'price': '109.210000',
'date': '2019-08-20 22:40:00',
'kr': '알바니아 레크',
'en': 'Albanian lek',
'jp': 'レク'},
{'symbol': 'MXV=X',
'name': 'USD/MXV',
'price': '3.153421',
'date': '2019-08-20 22:30:00',
'kr': 'Mexican Unidad de Inversion (UDI) (기금부호)',
'en': 'Mexican Unidad de Inversion (UDI) (funds code)'},
{'symbol': 'AMD=X',
'name': 'USD/AMD',
'price': '475.400000',
'date': '2019-08-20 20:46:03',
'kr': '아르메니아 드람',
'en': 'Armenian dram',
'jp': 'ドラム'},
{'symbol': 'ISK=X',
'name': 'USD/ISK',
'price': '124.320000',
'date': '2019-08-20 20:45:00',
'kr': '아이슬란드 크로나',
'en': 'Icelandic króna',
'jp': 'アイスランド・クローナ'},
{'symbol': 'AOA=X',
'name': 'USD/AOA',
'price': '358.346000',
'date': '2019-08-20 20:25:01',
'kr': '앙골라 콴자',
'en': 'Angolan kwanza',
'jp': 'クワンザ'},
{'symbol': 'KGS=X',
'name': 'USD/KGS',
'price': '69.778000',
'date': '2019-08-20 19:30:10',
'kr': '키르기스스탄 솜',
'en': 'Kyrgyzstani som',
'jp': 'キルギス・ソム'},
{'symbol': 'BWP=X',
'name': 'USD/BWP',
'price': '11.106100',
'date': '2019-08-20 18:30:00',
'kr': '보츠와나 풀라',
'en': 'Botswana pula',
'jp': 'プラ'},
{'symbol': 'RSD=X',
'name': 'USD/RSD',
'price': '105.931700',
'date': '2019-08-20 17:30:07',
'kr': '세르비아 디나르',
'en': 'Serbian dinar',
'jp': 'セルビア・ディナール'},
{'symbol': 'NIO=X',
'name': 'USD/NIO',
'price': '33.348300',
'date': '2019-08-20 15:16:12',
'kr': '니카라과 코르도바',
'en': 'Nicaraguan córdoba',
'jp': 'ニカラグア・コルドバ'},
{'symbol': 'GEL=X',
'name': 'USD/GEL',
'price': '2.912500',
'date': '2019-08-20 05:00:05',
'kr': '조지아 라리',
'en': 'Georgian lari',
'jp': 'ラリ'},
{'symbol': 'HUX=X',
'name': 'USD/HUX',
'price': '293.150000',
'date': '2019-08-16 18:30:10'},
{'symbol': 'SBD=X',
'name': 'USD/SBD',
'price': '8.207700',
'date': '2019-08-10 07:05:00',
'kr': '솔로몬 제도 달러',
'en': 'Solomon Islands dollar',
'jp': 'ソロモン諸島ドル'},
{'symbol': 'FJD=X',
'name': 'USD/FJD',
'price': '2.155000',
'date': '2019-08-10 06:38:53',
'kr': '피지 달러',
'en': 'Fiji dollar',
'jp': 'フィジー・ドル'},
{'symbol': 'MGA=X',
'name': 'USD/MGA',
'price': '3650.000000',
'date': '2019-08-10 06:36:41',
'jp': 'アリアリ'},
{'symbol': 'TMT=X',
'name': 'USD/TMT',
'price': '3.400000',
'date': '2019-08-10 06:34:37',
'kr': '투르크메니스탄 마나트',
'en': 'Turkmenistani manat',
'jp': 'トルクメニスタン・マナト'},
{'symbol': 'SOS=X',
'name': 'USD/SOS',
'price': '573.000000',
'date': '2019-08-10 06:33:53',
'kr': '소말리아 실링',
'en': 'Somali shilling',
'jp': 'ソマリア・シリング'},
{'symbol': 'LSL=X',
'name': 'USD/LSL',
'price': '15.240000',
'date': '2019-08-10 06:22:38',
'kr': '레소토 로티',
'en': 'Lesotho loti',
'jp': 'ロチ'},
{'symbol': 'GMD=X',
'name': 'USD/GMD',
'price': '49.620000',
'date': '2019-08-10 06:15:49',
'kr': '감비아 달라시',
'en': 'Gambian dalasi',
'jp': 'ダラシ'},
{'symbol': 'NGN=X',
'name': 'USD/NGN',
'price': '358.000000',
'date': '2019-08-10 01:59:48',
'kr': '나이지리아 나이라',
'en': 'Nigerian naira',
'jp': 'ナイラ'},
{'symbol': 'UZS=X',
'name': 'USD/UZS',
'price': '8650.000000',
'date': '2019-08-08 06:42:42',
'kr': '우즈베키스탄 숨',
'en': 'Uzbekistan som',
'jp': 'スム'},
{'symbol': 'ETB=X',
'name': 'USD/ETB',
'price': '28.670000',
'date': '2019-08-07 01:25:01',
'kr': '에티오피아 비르',
'en': 'Ethiopian birr',
'jp': 'ブル'},
{'symbol': 'XAU=X',
'name': 'XAU=X',
'price': '0.000773',
'date': '2019-04-14 09:35:38',
'kr': '금 (1 트로이 온스)',
'en': 'Gold (one troy ounce)',
'jp': '金'},
{'symbol': 'XPT=X',
'name': 'PLATINUM 1 UZ 999',
'price': '0.001117',
'date': '2019-04-14 09:34:38',
'kr': '백금 (1 트로이 온스)',
'en': 'Platinum (one troy ounce)',
'jp': '白金'},
{'symbol': 'XAG=X',
'name': 'SILVER 1 OZ 999 NY',
'price': '0.065703',
'date': '2019-04-09 06:14:06',
'kr': '은 (1 트로이 온스)',
'en': 'Silver (one troy ounce)',
'jp': '銀'},
{'symbol': 'XCP=X',
'name': 'COPPER HIGHGRADE',
'price': '0.340832',
'date': '2019-04-09 06:14:06'},
{'symbol': 'XPD=X',
'name': 'PALLADIUM 1 OZ',
'price': '0.000738',
'date': '2019-04-09 06:14:06',
'kr': '팔라듐 (1 트로이 온스)',
'en': 'Palladium (one troy ounce)',
'jp': 'パラジウム'},
{'symbol': 'STD=X',
'name': 'USD/STD',
'price': '21425.400000',
'date': '2019-01-29 00:20:16',
'kr': '상투메 프린시페 도브라',
'en': 'São Tomé and Príncipe dobra',
'jp': 'ドブラ'},
{'symbol': 'MRO=X',
'name': 'USD/MRO',
'price': '355.000000',
'date': '2019-01-28 23:43:44',
'jp': 'ウギア'},
{'symbol': 'VEF=X',
'name': 'USD/VEF',
'price': '248209.000000',
'date': '2018-08-18 13:48:19',
'kr': '베네수엘라 볼리바르',
'en': 'Venezuelan bolívar',
'jp': 'ボリバル'},
{'symbol': 'FRF=X',
'name': 'USD/FRF',
'price': '1700.272217',
'date': '2017-02-28 06:21:09',
'en': 'French franc',
'jp': 'フランス・フラン'},
{'symbol': 'ITL=X',
'name': 'USD/ITL',
'price': '1700.272217',
'date': '2017-02-25 04:34:31',
'en': 'Italian lira',
'jp': 'イタリア・リラ'},
{'symbol': 'ECS=X',
'name': 'USD/ECS',
'price': '25000.000000',
'date': '2017-02-25 04:27:22',
'en': 'Ecuadorian sucre',
'jp': 'スクレ'},
{'symbol': 'ZWL=X',
'name': 'USD/ZWL',
'price': '322.355011',
'date': '2016-07-01 08:13:00',
'kr': '짐바브웨 달러 A/10',
'en': 'Zimbabwean dollar A/10'},
{'symbol': 'BYR=X',
'name': 'USD/BYR',
'price': '20020.000000',
'date': '2016-06-30 22:27:21',
'kr': '벨라루스 루블',
'en': 'Belarusian ruble',
'jp': 'ベラルーシ・ルーブル'},
{'symbol': 'SIT=X',
'name': 'USD/SIT',
'price': '216.486755',
'date': '2015-07-27 22:25:00',
'en': 'Slovenian tolar',
'jp': 'トラール'},
{'symbol': 'IEP=X',
'name': 'USD/IEP',
'price': '0.699154',
'date': '2015-06-23 13:53:00',
'en': 'Irish pound',
'jp': 'アイルランド・ポンド'},
{'symbol': 'LTL=X',
'name': 'USD/LTL',
'price': '3.048700',
'date': '2015-06-22 17:39:00',
'en': 'Lithuanian litas',
'jp': 'リタス'},
{'symbol': 'LVL=X',
'name': 'USD/LVL',
'price': '0.620550',
'date': '2015-06-22 17:37:00',
'en': 'Latvian lats',
'jp': 'ラッツ'},
{'symbol': 'DEM=X',
'name': 'USD/DEM',
'price': '1.717450',
'date': '2015-06-22 16:35:00',
'en': 'German mark',
'jp': 'ドイツマルク'},
{'symbol': 'CYP=X',
'name': 'CYP=X',
'price': '0.000000',
'date': '1970-01-01 09:00:00',
'en': 'Cypriot pound',
'jp': 'キプロス・ポンド'}]
# 대괄호로 둘러쳐져 있고, 내용물들이 쉼표로 구분되어 있으면 리스트이다.
# 그 근거로 type() 을 통해 확인해보면 리스트가 나오게 된다.
type(result)
list
# 리스트는 인덱스로 조회가 가능하므로 0 번째 물건을 조회해보면 아래와 같다.
result[0]
{'symbol': 'CNH=X',
'name': 'USD/CNH',
'price': '7.057600',
'date': '2019-08-21 14:56:01'}
# 0 번째 물건 조회시 딕셔너리 형식으로 되어있으므로
# 딕셔너리 조회 방법인 '키' 를 사용해 조회 가능하다.
# .keys() 를 사용하면 해당 딕셔너리의 키를 전부 알아볼 수 있다.
result[0].keys()
dict_keys(['symbol', 'name', 'price', 'date'])
# .keys() 를 사용해서 알아본 키 중에 'symbol' 을 이용해 내용을 조회해보자.
result[0]['symbol']
'CNH=X'
# list 형식으로 되어있는 result 의 이름을 forex_data 로 하여 새로 저장해주고
# len() 내장함수를 사용하여 안에 들어있는 것들의 개수를 구해준다.
# 176 개가 들어있음을 확인하였다.
forex_data = result
len(forex_data)
176
# pd.DataFrame() 을 사용하여, 얻어온 정보를 데이터프레임화 시켜줄 수 있다.
# 딕셔너리의 키가 데이터프레임에서 컬럼명이 되고,
# 딕셔너리의 값이 데이터프레임에서 행에 들어가게 된다.
df = pd.DataFrame(forex_data)
df.head()
|
date |
en |
jp |
kr |
name |
price |
symbol |
0 |
2019-08-21 14:56:01 |
NaN |
NaN |
NaN |
USD/CNH |
7.057600 |
CNH=X |
1 |
2019-08-21 14:56:01 |
Hungarian forint |
フォリント |
헝가리 포린트 |
USD/HUF |
294.870000 |
HUF=X |
2 |
2019-08-21 14:56:01 |
Israeli new shekel |
新シェケル |
이스라엘 신 셰켈 |
USD/ILS |
3.526100 |
ILS=X |
3 |
2019-08-21 14:56:01 |
Norwegian krone |
ノルウェー・クローネ |
노르웨이 크로네 |
USD/NOK |
8.984840 |
NOK=X |
4 |
2019-08-21 14:56:01 |
Russian ruble |
ロシア・ルーブル |
러시아 루블 |
USD/RUB |
66.400300 |
RUB=X |
# 데이터프레임은 to_csv() 를 통해 csv 형식으로 저장할 수 있습니다.
# csv 는 우리가 흔히 엑셀에서 열 수 있는 형식의 파일입니다.
df.to_csv('data/forex_collected.csv')
# 판다스의 pd.read_csv() 를 통해 저장된 파일을 불러와 사용할 수 있습니다.
reload = pd.read_csv('data/forex_collected.csv')
reload.head()
|
Unnamed: 0 |
symbol |
name |
price |
date |
kr |
en |
jp |
0 |
0 |
BBD=X |
USD/BBD |
2.00 |
2019-08-17 08:00:00 |
바베이도스 달러 |
Barbados dollar |
バルバドス・ドル |
1 |
1 |
BMD=X |
USD/BMD |
1.00 |
2019-08-17 08:00:00 |
버뮤다 달러 |
Bermudian dollar |
バミューダ・ドル |
2 |
2 |
CUP=X |
USD/CUP |
1.00 |
2019-08-17 08:00:00 |
쿠바 페소 |
Cuban peso |
キューバ・ペソ |
3 |
3 |
KPW=X |
USD/KPW |
900.00 |
2019-08-17 08:00:00 |
조선민주주의인민공화국 원 |
North Korean won |
ウォン |
4 |
4 |
KYD=X |
USD/KYD |
0.82 |
2019-08-17 08:00:00 |
케이맨 제도 달러 |
Cayman Islands dollar |
ケイマン諸島・ドル |