簡體   English   中英

按csv中的一列進行分組,並對另一個(PHP)中的值求和

[英]Group by a column from csv and sum the values from another (PHP)

我有這樣的csv:

25/07/2016 3
25/07/2016 4
26/07/2016 4
26/07/2016 1

我期望的輸出必須像這樣

25/07/2016 7
26/07/2016 5

我只想使用PHP來做到這一點。 我不得不提到,我沒有使用mysql,也不想使用。 有解決方案嗎?

嘗試這樣的事情。 這只是該類似文章的編輯版本。

$my_file = fopen('file.csv', 'rb');

$my_array = array();
while($row = fgetcsv($my_file)) {
    $my_array[$row[0]] += $row[1];
}
"25/07/2016","3"
"25/07/2016","4"
"26/07/2016","4"
"26/07/2016","1"

例如,假設您的CSV文件包含上述數據。

$arr = array();
$handle = fopen("example.csv", "r");
while(!feof($handle))
{
    $arrOfCSVLine = fgetcsv($handle);
    $date = $arrOfCSVLine[0];
    $no = $arrOfCSVLine[1];

   if(!array_key_exists($data,$arr))
   {
       $arr[$date] = $no;
   }
   else
   {
       $arr[$date] += $no;
   }

}

echo '<pre>';
print_r($arr);

檢查此代碼。

$finalOutput = array();
$file = fopen('myCSVFile.csv', 'r'); 
while (($line = fgetcsv($file)) !== FALSE) {
  if(isset($finalOutput[$line[0]])){
     $finalOutput[$line[0]] = $line[1] + $finalOutput[$line[0]];
   } else {
     $finalOutput[$line[0]] = $line[1];
   }
}
print_r($finalOutput);

暫無
暫無

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

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