按csv中的一列分组,并对另一列的值求和(PHP)
我有这样一个csv:按csv中的一列分组,并对另一列的值求和(PHP),php,csv,Php,Csv,我有这样一个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,我也不想使用。 有解决办法吗 试试这样的东西。这只是从中编辑的版本 例如,假设您有包含上述数据的CSV文件 $arr = array(); $handle = fopen("example.csv", "r"); whil
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,我也不想使用。
有解决办法吗 试试这样的东西。这只是从中编辑的版本 例如,假设您有包含上述数据的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);
$arr=array();
$handle=fopen(“example.csv”,“r”);
而(!feof($handle))
{
$arrOfCSVLine=fgetcsv($handle);
$date=$arrOfCSVLine[0];
$no=$arrOfCSVLine[1];
如果(!array_key_存在($data,$arr))
{
$arr[$date]=$no;
}
其他的
{
$arr[$date]+=$no;
}
}
回声';
印刷费($arr);
检查此代码。向我们展示您尝试过的内容。是否要读取csv文件并创建csv输出文件?这就是我需要的!非常感谢。
$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);
"25/07/2016","3"
"25/07/2016","4"
"26/07/2016","4"
"26/07/2016","1"
$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);