用CSV删除一行?

时间:2012-02-05 12:17:14

标签: php csv row

我尝试了很多东西,但是它们似乎都没有正常工作......我尝试用null替换文件的字符串,但是它有问题......我没有找到任何删除行的csv函数一个csv文件,任何人都可以这样做,或建议我如何做到这一点?我是一个初学者,但我有C#和C ++的经验,所以php不是太难!

2 个答案:

答案 0 :(得分:3)

算法:

$in = fopen( 'file1.csv', 'r');
$out = fopen( 'file2.csv', 'w'); 
// Check whether they opened

while( $row = fgetcsv( $in, 10000)){
  if( ... your condition ...){
    continue;
  }

  fputcsv( $out, $row);
}

fclose( $in); fclose( $out);

答案 1 :(得分:1)

function delete_line($id)
{
    if($id) 
    {
        $file_handle = fopen("your_file.csv", "w+");
        $myCsv = array();
        while (!feof($file_handle) )
        {
            $line_of_text = fgetcsv($file_handle, 1024);    
            if ($id != $line_of_text[0]) 
            {
                fputcsv($file_handle, $line_of_text);
            }
        }
fclose($file_handle);
    }
}