2013-10-28 5 views
0

Yahoo Finance API를 사용하여 custom csv를 만들려고했지만 주식에 따라 필드가 잘못 정렬되었습니다. 예를 들어Yahoo finance API field misalignment

, 난 그냥 마지막 무역 크기에 해당하는 야후의 "K3"필드를 다운로드하려면, 내가 그렇게 같은 URL 공예 것이다 : 당신은 다운로드하는 경우, 그러나

http://finance.yahoo.com/d/quotes.csv?s=yhoo&f=k3

을 CSV에는 두 개의 데이터 열이 있습니다.

http://finance.yahoo.com/d/quotes.csv?s=yhoo&f=f6

그러나 나에게 3 열을 제공합니다 : 나는 주식 플로트 얻을 것을 결정하는 경우에

는 마찬가지로, 나는 URL을합니다. 정확하게 하나의 열에 가져올 수있는 방법이 있습니까? 이 프로세스를 자동화하고 싶지만 다른 열 방향이 다르면 다른 열의 길이가 달라서 열 이름과 행을 쉽게 일치시킬 수 없으므로 매우 어렵습니다.

보너스 : 그에서 온 3 플로트 주 번호는 좋은 것 곳에 사람이 설명 할 수있는 경우에, 나는

는 당신의 도움을 주셔서 감사합니다 ... 만 사이트에 첫 번째 일치 할 수있을 것!

답변

1

간단히 말해 피드가 공식적으로 지원되지 않기 때문에 야후가 고치지 않는 알려진 버그를 설명하고 있습니다.

특히. 플로트 (f6) : 반환 된 번호는 이며 전체 플로트는입니다. 3 csv 숫자가 아닙니다. 쉼표는 분리 문자가 아닙니다. 오히려, 그들은 1,000s 분리 자입니다. (K3의 경우도 마찬가지입니다.) 아래의 링크를 참조하십시오. (아래 링크 참조)

두 가지 해결책 : (1) 조건문을 사용하여 해결 방법을 작성하십시오. 대/소문자를 구분합니다. (2) 버그가 많은 매개 변수를 깨끗한 매개 변수와 별도로 다운로드하십시오.

참조 : 그이 (가) "쉼표 구분자"로 "천 구분자를"취급 (또는 무엇이든 CSV 뷰어를 사용하는) 엑셀 때문에 Yahoo's official reply to your question.

0

다중 열입니다. 우리는 학교 프로젝트에서이 문제를 겪었고, 취미 프로젝트에이 api를 사용하고 데이터 사용과 관련이없는 경우에만 해킹을 발견했습니다.

아이디어는 결과를 CSV로 처리하는 대신 미리 값 (예 : 열의 '주식 기호)을 알거나 첫 번째 열로이 값을 넣을 정적 열 (열 A)을 선택하십시오. 쿼리를 생성 할 때이 열을 사용하여 해당 열 (float 열)을 서식 문제로 둘러싸십시오. 일단 quotes.csv를 얻으면 수동으로 열 A 값에 대한 결과를 분리하십시오.

http://download.finance.yahoo.com/d/quotes.csv?s=yhoo&f=sf6sa5sb6

당신에게

"YHOO"887675000을 얻을 것이다 "YHOO", 400 "YHOO", N/A

그런 다음에 ,"YHOO",를 사용하여

예를 들어

결과를 분리하십시오 (첫 번째 열 제외).

문제를 해결할 수있는 훌륭한 방법은 아니지만 적어도 정확한 결과를 제공합니다.

관련 문제