2012-10-16 3 views
0

Yahoo! 파이낸셜 API를 사용하여 현재의 주식 시세를 모으는 데 특히 유용합니다. 야후! Finance API는 다운로드 할 수있는 .CSV 파일 형태로 데이터를 제공합니다.파이썬을 사용하여 .CSV 파일에서 데이터를 수집하는 방법은 무엇입니까?

이 데이터를 사용하는 가장 좋은 방법은 무엇입니까? 파일을 다운로드하고 읽는 것이 비효율적입니까? urllib 같은 것을 사용하여 구문 분석 할 수있는 JSON 또는 XML 파일로 변환하는 방법이 있습니까?

내가 점점 오전 .CSV이 경우, 다음 페이지에 마이크로 소프트 (MSFT)에 대한 견적을 생성하는 중입니다 사전에

http://finance.yahoo.com/d/quotes.csv?s=MSFT&f=snl1

많은 감사합니다.

답변

3

파이썬에는 csv 모듈이 내장되어 있습니다.

http://docs.python.org/library/csv.html

당신의 다운로드 질문에 대답하기 :

file = r"http://finance.yahoo.com/d/quotes.csv?s=MSFT&f=snl1" 

import urllib 
text = urllib.urlopen(file).read() 

>>> print text 
... "MSFT","Microsoft Corpora",29.51 
+0

처리하기 쉬운 해시 테이블, 빠른 답변을 주셔서 감사합니다! 나는 그 문서를 읽을 것이다. – zch

+0

Python은 Yahoo 링크를 방문하여 csv 파일을 자동으로 다운로드 할 수 있습니까? – zch

+1

@zch 물론 course.use [urllib] (http://docs.python.org/library/urllib.html) – iMom0

1

csv 모듈과 DictReader을 바탕으로, urlopen 후 데이터를 구문 분석하는 것이 더 쉬울 것이다, 나는 @kreativitea

에서 위의 코드를 재사용
import csv 
import urllib 

file = r"http://finance.yahoo.com/d/quotes.csv?s=MSFT&f=snl1" 

quotefile = urllib.urlopen(file) 
fieldheaders = ["abbr","name","index"] 
reader = csv.DictReader(quotefile,fieldnames=fieldheaders) 

for row in reader: 
    print row 

결과는

입니다.
$ quote.py 
{'index': '29.51', 'abbr': 'MSFT', 'name': 'Microsoft Corpora'} 

루프에서 row

+0

좋은 아이디어 - 고마워요! – zch

관련 문제