所以我目前已經創建了一個可以上傳和查看CSV表單的頁面。我已經在事情的上傳方面工作得很好,並且閱讀文檔等,但是如何從文檔中間選擇一個確切的信息平安?例如,我想知道我的第二個活動名稱的總流量。我將如何做到這一點?這是我目前的代碼。如何通過PHP從CSV文件中提取特定數據?
<?php
$file = file('Uploads/uploadfile.csv');
$i = 0;
foreach($file as $line){
if($i > 1) {
list($activityid,$activitystatus,$wbscode,$wbsname,$activityname,$keymilestones,$originalduration,$remainingduration,$plannedstart,$plannedfinish,$totalfloat,$variancebl1startdate,)=explode(",", $line);
echo "<h1>$activityname</h1>";
echo "<b>Activity ID: </b>$activityid<hr>";
echo "<b>WBS Code: </b>$wbscode<hr>";
echo "<b>WBS Name: </b>$wbsname<hr>";
echo "<b>Activity Status: </b>$activitystatus<hr>";
echo "<b>Key Milestones: </b>$keymilestones<hr>";
echo "<b>Original Duration: </b>$originalduration<hr>";
echo "<b>Remaining Duration: </b>$remainingsuration<hr>";
echo "<b>Planned Start: </b>$plannedstart<hr>";
echo "<b>Planned Finish: </b>$plannedfinish<hr>";
echo "<b>Total Float: </b>$totalfloat<hr>";
echo "<b>Variance B11 Start Date: </b>$variancebl1startdate<hr>";
}
$i++;
}
?>
謝謝。
你認爲什麼是CSV文件的「中間」? //此外,在每個'',''爆炸CSV數據很容易導致錯誤的結果(如果任何值也包含逗號) - 使用適當的函數'fgetcsv'。 – CBroe
中間我只是在文檔中的任何地方建議不一定是中間的確切部分。我使用的文件已經通過Primavera作爲XLS文件預先創建,然後通過excel轉換爲CSV,因此希望不應該有逗號問題。但是,如果您建議使用fgetcsv是一種更好的數據提取方式,那麼我很樂意改變它。我只是不顯示它會如何工作。 –
'fgetcsv'是最好的選擇。此外,您還有'str_getcsv',它將CSV字符串解析爲數組。無論如何,這兩個函數都會返回一個數組,所以這只是一個從數組中檢索數據的問題,完全是另一個話題,即imo。如果你不知道如何去做,我建議你做一些關於PHP基礎知識的研究。 – Rein