【发布时间】:2015-04-30 15:15:27
【问题描述】:
您好,我在 excel 中有这种格式的数据。
A B C
php Html Laravel
mysql Css Wordpress
javascript jquery Codeigniter
我将其保存为 csv,然后得到逗号分隔值。我需要从 C 列中删除一些项目。例如我需要删除 Laravel 和 Codeigniter 并且其他数据保持不变。我怎么能做到这一点?我已经尝试过使用此代码。但这会删除指定值的整行。
$table = fopen('tech.csv','r');
$temp_table = fopen('table_temp.csv','w');
$id = 'Laravel'; // the name of the column you're looking for
while (($data = fgetcsv($table, 1000)) !== FALSE){
if(reset($data) == $id){ // this is if you need the first column in a row
continue;
}
fputcsv($temp_table,$data);
}
fclose($table);
fclose($temp_table);
rename('table_temp.csv','tech.csv');
所以,当我运行它时,它不仅会删除“Laravel”,还会删除整个行——php、Html、Laravel。
如何在不损害 csv 文件中的其他数据的情况下从列中搜索和删除多个值?
【问题讨论】: