2012-08-10 118 views
0

這相當於問題:Download CSV directly into Python CSV parser但在php中。基本上,我正在尋找一個能夠正好在幾行代碼做的事情我做的Python庫提供的接口:php - 直接下載csv文件到內存,最好不用cURL

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文件,但我想避免使用捲曲和它的低級接口。有什麼建議麼?

+3

cURL怎麼了? – 2012-08-10 07:12:49

+0

你如何預測下載它,帶着希望和夢想? – 2012-08-10 07:14:32

+0

我認爲你可以使用[fopen](http://www.php.net/manual/en/function.fopen.php)... – 2012-08-10 07:15:24

回答

3

不太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,如果你真的不喜歡捲曲......

file_get_contents($url); 

此外,看一看str_getcsv()爲將上述函數中的字符串轉換爲CSV文件中數據的數組。

0

您可以使用以下方法:

$content = file_get_contents($url); 

fopen wrappers應啓用

4

你可以,如果fopen封裝已經啓用了文件加載到一個變量file_get_contents。你可以用str_getcsv解析結果。

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

如果您需要設置特定的標題或使用其他的分隔符,請參閱手冊。