簡體   English   中英

如何通過PHP從CSV文件中提取特定數據?

[英]How can I pull specific data from a CSV file via 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++;
}
?>

謝謝。

'explode(“,”,$ line);' 返回一個數組。 您必須獲得一個數組,其中索引是csv中各列的名稱。 您可以重新瀏覽此數組,以提取或查詢帶有索引名稱的任何特定數據。

示例:我是一個為客戶提供的具有FirstName,LastName和Email的.csv文件。

/**
 * Store csv data to array
 * 
 */
$file_path    = "customers.csv";
$file_content = file( $file_path );


/**
 * Store customers data with associative indexes
 * 
 */
$arr_data = array();
foreach ($file_content as $row) {
    $arr_data[] = explode(',', trim($row));
}

$arr_customers = array();
$first_row     = NULL;
foreach ($arr_data as $row) {

    //store content for first array -> FirstName, LastName, Email
    if (! $first_row) {
        $first_row = $row;

    } else {
        $arr_customers[] = array_combine($first_row, $row);
    }
}


/**
 * Retrieve data
 *
 */

//print email for all customers
foreach ($arr_customers as $customer) {
    echo $customer['Email'] . '<br>';
}

//print name for second customer
echo $arr_customers[1]['LastName'] . ', ' . $arr_customers[1]['FirstName'] . '<br>';

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM