0

这相当于问题:Download CSV directly into Python CSV parser but in php.ini 基本上,我正在寻找一个提供接口的库,该接口能够在几行代码中完成我使用 python 所做的事情:

h = httplib2.Http('.cache')
url = 'http://financials.morningstar.com/ajax/ReportProcess4CSV.html?t=' + code + '&region=AUS&culture=en_us&reportType='+ report + '&period=12&dataType=A&order=asc&columnYear=5&rounding=1&view=raw&productCode=usa&denominatorView=raw&number=1'
headers, data = h.request(url)
return data

我需要下载和解析 csv 文件,但我想避免使用 cURL 及其低级接口。有什么建议么?

4

3 回答 3

4

不完全是 3 行:

function getURL($url){
    $ch = curl_init($url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $ret = curl_exec($ch);
    curl_close($ch);
    return $ret;
}

或者我猜你可以使用 file_get_contents,如果你真的不喜欢 cURL...

file_get_contents($url);

此外,请查看str_getcsv()以将上述函数中的字符串转换为包含 CSV 文件数据的数组。

于 2012-08-10T07:23:13.007 回答
4

如果启用了 fopen 包装器,您可以使用file_get_contents将文件加载到变量中。您可以使用str_getcsv解析结果。

$data = str_getcsv(file_get_contents('http://example.com/data/my.csv'));

如果您需要设置特定标题或使用其他分隔符,请参阅手册。

于 2012-08-10T07:26:42.470 回答
0

您可以使用以下内容:

$content = file_get_contents($url);

应该启用fopen 包装器

于 2012-08-10T07:25:26.387 回答