2015-04-24 2 views
1

Я хочу проанализировать данные, возвращенные API Yahoo Finance, которые находятся в формате CSV. Я хочу выход в формате company name: stock price. Я скачал API пример Yahoo, код ниже:Анализ данных CSV, полученных Yahoo Finance API

String[] symbols = new String[] {"INTC", "BABA", "TSLA", "AIR.PA", "YHOO"}; 
Map<String, Stock> stocks = YahooFinance.get(symbols); 

выход:

INFO: Синтаксический CSV строка: N/A, \ "ИНТЕРК \", \ "USD \", N/A, N/A, N/A, \ "ИНТЕРК \", 100, \ "ИНТЕРК \", N/A, N/A, \ "ИНТЕРК \", 500, \ "ИНТЕРК \", 32,35, \ "ИНТЕРК \", N/A, \ "ИНТЕРК \", \ "4/23/2015 \", \ "4:00 вечера \", N/A, N/A, N/A, N/A, N/A, 32348700, N/A, N/A, 31.61,34.01, \ "ИНТЕРК \", 4736000000, \ "ИНТЕРК \", \ "ИНТЕРК \", N/A, \ "ИНТЕРК \", 153.21B \ "ИНТЕРК \", 4730885000, \ "ИНТЕРК \", \ "6/1/2015 \", N/A, N/A, N/A, N/A, 2.16,0.59,2.40, N/A , 1,82,2,78,2,77,11,77,55,87B, 24,19B, 34,95 24 апреля 2015 г. 6:14:56 PM yahoofinance.quotes.QuotesRequest getResult

Я хочу только цену этой компании.

+0

Я бы порекомендовал использовать анализатор csv api посмотреть на apache ... – brso05

+0

Сэр Я попробовал google finance api код \t String googleResponse = HttpUtil.URLtoString ("http://finance.google.com/finance/ ? Информация о клиенте = & IG д = NASDAQ: GOOG "); \t \t String token [] = StringUtil.split (googleResponse, "//"); \t \t \t \t JSONArray jsonArray = (JSONArray) JSONFactoryUtil.createJSONArray (токен [1]); \t \t JSONObject jsonObject = (JSONObject) jsonArray.getJSONObject (0); но у меня есть исключение нулевого указателя –

+0

Я не могу понять содержимое CSV – Sindico

ответ

1

Выход вы показываете является протоколирование API.

У вас есть все запрошенные Stock объекты, доступные в вашей переменной stocks. Если вы хотите напечатать цену для каждого из них, вы должны сделать что-то вроде этого:

String[] symbols = new String[] {"INTC", "BABA", "TSLA", "AIR.PA", "YHOO"}; 
Map<String, Stock> stocks = YahooFinance.get(symbols); 

for(Stock s : stocks.values()) { 
    System.out.println(s.getName() + ": " + s.getQuote().getPrice()); 
} 

Отъезд javadoc, чтобы увидеть, какие объекты и методы доступны в API.

-1

попробовать что-то вроде этого

import csv 
import StringIO 

raw_file = StringIO.StringIO("data1, data2, data3, ...") 
reader = csv.reader(raw_file) 
for FIELD1, FIELD2,FIELD3,FIELD4 in reader: 
    print FIELD2 
+0

ладно спасибо, сэр. –

+0

принять ответ, если он вам помог – Sindico