【发布时间】:2014-08-21 01:09:49
【问题描述】:
我正在尝试从 CSV 读取读取数据并将其写入新的 CSV,将数据拆分为多个文件,其中电子邮件地址 ($row[14]) 在每个文件中都是唯一的。我正在阅读的 CSV 已按电子邮件地址排序。循环在这里正常工作,只是正在创建的文件都只包含一行。如何修改它以将行写入每个仅包含唯一电子邮件地址的文件。
<?php
$file = fopen("yahrzeit-4.csv","r");
$x=1;
while ( $row = fgetcsv( $file, ";" ) ) {
if ($file) {
if ($email = $row[14] == $email) {
$filename = 'mailchimp'.$x.'.csv';
$fpR = fopen($filename, 'w');
$dataR = array( $row[2],
$row[3],
$row[14],
$row[6] . ' ' . $row[7] . ' ' . $row[8],
$row[11] . ' ' . $row[10] . ', ' . $row[12],
jdtogregorian ( jewishtojd($Hebmonth, $row[6], 5774 ))
);
$email = $row[14]; $x++;
}
else {
$x=1;
$fp = fopen('mailchimp.csv', 'w');
$data = array ( $row[2],
$row[3],
$row[14],
$row[6] . ' ' . $row[7] . ' ' . $row[8],
$row[11] . ' ' . $row[10] . ', ' . $row[12],
jdtogregorian ( jewishtojd($Hebmonth, $row[6], 5774 ))
);
}
$email = $row[14];
}
fputcsv($fpR, $dataR);
fputcsv($fp, $data);
}
fclose($fp);
fclose($fpR);
?>
【问题讨论】: