【问题标题】:merge content of csv files by ID in php在php中按ID合并csv文件的内容
【发布时间】:2015-04-11 15:13:32
【问题描述】:
我想合并两个或多个如下所示的 csv 文件:
文件 1:
offer-id merchant-category
123 TV
456 TV
文件 2:
ArticleID Price
456 989.99
789 555.55
123 999.99
输出应如下所示:
offer-id merchant-category Price
123 TV 999.99
文件包含的行数可能不准确,并且行的顺序不同
【问题讨论】:
标签:
php
arrays
csv
merge
array-merge
【解决方案1】:
1/ 加载第一个 csv 文件
$file1=Array();
if (($fp=fopen("data.csv", "r")) {
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
$file1[$data[0]]=$data[1];
}
fclose($fp);
}
2/打开第二个文件并合并
$result=Array();
if (($fp=fopen("data2.csv", "r")) {
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
$category=isset($data[0]) ? $file1[$data[0]] : "unknown";
$result[]=array($data[0], $category, $data[1]);
}
fclose($fp);
}