【发布时间】:2015-02-10 12:03:43
【问题描述】:
我有 2 个 .csv 文件,它们的第一列具有相似的值,包含的代码仅针对一行执行此任务,它仅执行一次迭代,请帮我修改代码...
hostrefined.csv contents...
name1,23423,detail1
name2,12312,detail2
name3,21312,detail3
hbarefined.csv contents...
name1,det1,det2,2323
name1,det3,det4,23434
name1,det5,det6,34343
name2,det9,det7,232322
name3,det10,det28,232
the output file has to be like
name1,23423,detail1,det1,det2,2323
name1,23423,detail1,det3,det4,23434
name1,23423,detail1,det5,det6,34343
name2,12312,detail2,det9,det7,232322
name3,21312,detail3,det10,det28,232
这里是代码
$handle = fopen("hostsrefined.csv", "r");
$handle1 = fopen("hbarefined.csv", "r");
$fp=fopen('test.csv','w');
while($data1 = fgetcsv($handle1, 1000, ","))
{
while($data = fgetcsv($handle, 1000, ","))
{
if($data1[0]==$data[0])
{
for($s=0;$s<9;$s++) // to write data from first .csv file
{
fwrite($fp,$data[$s]);
fwrite($fp,",");
}
for($s=1;$s<6;$s++) // to write data frm second .csv file
{
fwrite($fp,$data1[$s]);
fwrite($fp,",");
}
}
fwrite($fp,"\n");
}fwrite($fp,"\n");
}
【问题讨论】:
-
CSV 文件中有什么内容?
-
我不明白。你能说得更具体点吗?
-
请更具体地说明您要做什么。如果没有更多信息,您的代码很难阅读。此外,来自两个 csv 文件的一些测试数据会很好。你想用 csv1 和 csv2 的子集创建第三个 csv 文件,我理解了吗?
-
这与 PHPExcel 库无关,因此删除该标签
-
复制while循环并将
$handle1更改为$handle,甚至将循环放入函数并传递句柄。然后执行两次编写的函数:第一次使用$handle1第二次使用$handle。
标签: php parsing csv export-to-csv