使用PHP从CSV文件中有条件地删除行

时间:2012-01-07 05:11:44

标签: php csv

我正在从广告客户的doubleclick下载csv报告。我的客户端需要将csv保存到数据库表。在将csv保存到数据库之前,我需要从底部删除顶部和总行的几行。 PHP中是否有任何函数可以删除我从csv文件中指定的行?

1 个答案:

答案 0 :(得分:0)

没有具体的功能,但有几种方法可以实现它。

如果你有足够的RAM可以将整个文件同时保存在内存中,你可以将文件转换为数组:

$data=explode("\n",file_get_contents("path/to/csv_file");

然后,为了摆脱底部的总数,你可以用以下内容取消设置最后一行:

unset($data[sizeof($data)-1);

工作方式是数组中的每一行都是编号,但从零开始。 “sizeof”将是行数,但由于我们从零开始计数,因此它将是一个太多。

要从顶部删除一些行,您可以

unset($data[0]); and unset($data[1]);

然后使用foreach()函数遍历行并插入数据库:

foreach($data as $line){
/// parse your $line 
/// Insert row into database
}