[英]How to read a range of rows from CSV file to JSON array using PHP to handle large CSV file?
[英]Read out date range from CSV file using PHP
我目前正在使用PHP / AJAX腳本,您可以在該腳本中在日期范圍內進行搜索並以圖形形式獲得搜索結果。 我一直在認真地完成這個項目,現在我覺得是時候問你們了。
為了顯示該圖,我使用了一個簡單的PHP開源插件pChart。 我可以顯示該圖,但是我會停留在puts-csv-searchresults-in-graph部分中。
stocks.csv:
2016-01-02,77.44539475
2016-01-03,77.04557544
2016-01-06,74.89697204
2016-01-07,75.856461
2016-01-08,75.09194679
2016-01-09,76.20263178
2016-01-10,75.2301837
2016-01-13,73.84891755
2016-01-14,75.0113527
2016-01-15,77.14481412
2016-01-16,77.33058367
2016-01-17,76.85652616
2016-01-21,75.39394758
2016-01-22,76.7763823
2016-01-23,76.64038513
2016-01-24,77.20512022
2016-01-27,76.66007339
為了能夠在此CSV中的日期之間進行搜索,我相信我必須將結果放入數組中,但是我不確定如何將其放入數組中,以正確的順序將其讀出來放在此處:
$MyData->addPoints(array(<VALUES GOES HERE>),"Value"); // Value
$MyData->addPoints(array(<DATES GOES HERE>),"Labels"); // Date
相信我,來這里之前我一直在谷歌搜索。 提前致謝!
這樣的事情可能應該為您工作:
$stocks = array_map('str_getcsv', file('stocks.csv'));
$labels = array();
$values = array();
$from_date = '2016-01-15'; // SET THE START DATE HERE
$to_date = '2016-01-18'; // SET THE END DATE HERE
foreach($stocks as $stock){
if(strtotime($stock[0]) >= strtotime($from_date) AND strtotime($stock[0]) <= strtotime($to_date)){
$labels[] = $stock[0];
$values[] = $stock[1];
}
}
$MyData->addPoints($values),"Value"); // Value
$MyData->addPoints($labels),"Labels"); // Date
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.