解析雅虎财经返回的 CSV 数据 API
Parsing the CSV data returned by Yahoo Finance API
我想解析 Yahoo Finance API 返回的 CSV 格式的数据。我想要 company name: stock price
格式的输出。我已经下载了 Yahoo API 例子,代码如下:
String[] symbols = new String[] {"INTC", "BABA", "TSLA", "AIR.PA", "YHOO"};
Map<String, Stock> stocks = YahooFinance.get(symbols);
输出:
INFO: Parsing CSV line: N/A,\"INTC\",\"USD\",N/A,N/A,N/A,\"INTC\",100,\"INTC\",N/A,N/A,\"INTC\",500,\"INTC\",32.35,\"INTC\",N/A,\"INTC\",\"4/23/2015\",\"4:00pm\",N/A,N/A,N/A,N/A,N/A,32348700,N/A,N/A,31.61,34.01,\"INTC\",4736000000,\"INTC\",\"INTC\",N/A,\"INTC\",153.21B,\"INTC\",4730885000,\"INTC\",\"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
Apr 24, 2015 6:14:56 PM yahoofinance.quotes.QuotesRequest getResult
我只想要那家公司的价格
尝试这样的事情
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
您显示的输出是 API 的日志记录。
您的 stocks
变量中提供了所有请求的 Stock 对象。如果你想打印每一个的价格,你应该这样做:
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 中可用的对象和方法。
我想解析 Yahoo Finance API 返回的 CSV 格式的数据。我想要 company name: stock price
格式的输出。我已经下载了 Yahoo API 例子,代码如下:
String[] symbols = new String[] {"INTC", "BABA", "TSLA", "AIR.PA", "YHOO"};
Map<String, Stock> stocks = YahooFinance.get(symbols);
输出:
INFO: Parsing CSV line: N/A,\"INTC\",\"USD\",N/A,N/A,N/A,\"INTC\",100,\"INTC\",N/A,N/A,\"INTC\",500,\"INTC\",32.35,\"INTC\",N/A,\"INTC\",\"4/23/2015\",\"4:00pm\",N/A,N/A,N/A,N/A,N/A,32348700,N/A,N/A,31.61,34.01,\"INTC\",4736000000,\"INTC\",\"INTC\",N/A,\"INTC\",153.21B,\"INTC\",4730885000,\"INTC\",\"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 Apr 24, 2015 6:14:56 PM yahoofinance.quotes.QuotesRequest getResult
我只想要那家公司的价格
尝试这样的事情
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
您显示的输出是 API 的日志记录。
您的 stocks
变量中提供了所有请求的 Stock 对象。如果你想打印每一个的价格,你应该这样做:
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 中可用的对象和方法。