PHP删除第二行CSV并写入没有该行的CSV

时间:2013-11-23 17:12:37

标签: php csv fopen handle fclose

为这一个寻找高低。我有一个脚本,从CSV文件的第二行/第一行创建一个数组,只保留标题,然后就是这样。太好了!

但是当它完成时我想从CSV文件中删除/删除第二行,以便下次我的脚本运行它时使用下一行。

到目前为止,我已经尝试过这样的PHP代码创意而没有运气。

$cnt = 0;
if (($handle = fopen("Alabama.csv", "r")) !== FALSE) {
while (($csvadata = fgetcsv($handle, 0, ",")) !== FALSE) {      
   $data[$cnt++] = $csvadata;
}
fclose($handle);
  unset($data[2]);
}
$fp = fopen('Alabama.csv', 'w');
foreach ($data as $fields) {
fputcsv($fp, $fields);
 }
fclose($fp);

以下是输入文件的示例。我已经包含了标题行和第一行数据。我需要删除第一行数据并保持标题不变。我在这里以E列为例,但文件实际上是T列。此外,每个文件都有AT MOST 4000行/行。

                STATE        FDICCERT    ADDRESS               ASSETS     CITY                              
                Alabama         35         100 North Gay Street  768256   Auburn

1 个答案:

答案 0 :(得分:1)

尝试预先

array_shift($data);

之前

foreach ($data as $fields) {

这样,您在编写文件时将跳过第一个$ data项。