我正在尝试编写一个脚本,以CSV格式从Yahoo Finance下载历史数据。我的脚本已成功将数据加载到数组中,但是遇到了两个问题。首先是,尽管创建了一个从雅虎中撤出的日期范围,但我一直在获取该股票的全部历史数据,但我不确定为什么,我只希望从当日算起最近的6个月。其次,我能够使用str_getcsv将数据加载到数组中,但是我无法创建一个循环来将其设置在表中,第一行是表列的标题,其余的行则井井有条按日期排列。
这是代码:
<?php
$stock = "AAPL";
$date = strtotime(date('Y-m-d') . ' -1 month');
$date2 = strtotime(date('Y-m-d') . ' -6 months');
$a = (date('m', $date));
$b = (date('d', $date));
$c =(date('Y', $date));
$d = (date('m', $date2));
$e = (date('d', $date2));
$f =(date('Y', $date2));
$s = str_getcsv(file_get_contents("http://ichart.yahoo.com/table.csv?s=$stock&a=$d&b=e&c=$f&d=$a&e=$b&f=$c&g=d"));
Stock:echo $stock;
echo '<pre>';
print_r($s);
echo '</pre>';
?>
Run Code Online (Sandbox Code Playgroud)
这是输出:
AAPL
Array
(
[0] => Date
[1] => Open
[2] => High
[3] => Low
[4] => Close
[5] => Volume
[6] => Adj Close …Run Code Online (Sandbox Code Playgroud)