如何使用PHP将3个CSV文件合并为1个CSV文件


How can I merge 3 CSV files into 1 CSV file using PHP?

我想合并3个csv文件,每个文件是:

File1.csv :
2014-01-01,10
2014-01-02,15
2014-01-03,25
.
.
.
File2.csv :
2014-01-01,20
2014-01-02,26
2014-01-03,46
.
.
.
File3.csv :
2014-01-01,30
2014-01-02,35
2014-01-03,40
.
.
.

我想合并成一个csv文件,调用merge.csv:

2014-01-01,10,20,30
2014-01-02,15,26,35
2014-01-03,25,46,40

我试过了:

    合并csv文件
  • 用PHP合并两个大的CSV文件
  • 合并两个CSV文件

但它仍然不工作。我该怎么做呢?

我想这个应该可以了

$file1 = fopen('file1.csv', 'r');
$file2 = fopen('file2.csv', 'r');
...
$merged = fopen('merged.csv', 'w');
$files = array($file1,$file2,...);
$output=array();
foreach($files as $file){
    while (($line = fgets($file)) !== false) {
        list($index,$value)= explode(',',trim($line));
        $output[$index][]=$value;
    }
}
foreach($output as $key => $values){
    fwrite($merged, $key . ',' . implode(',',$values).PHP_EOL);
}