Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/249.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用PHP搜索和重写CSV文件?_Php_Csv_Search_Rewrite - Fatal编程技术网

如何使用PHP搜索和重写CSV文件?

如何使用PHP搜索和重写CSV文件?,php,csv,search,rewrite,Php,Csv,Search,Rewrite,因此,我对使用PHP编程非常陌生,虽然它不是我的第一种编程语言,但我很难学习足够的表达式和正确的语法来理解该做什么。有人能帮我写一个简单的脚本来完成以下任务吗 1.读取CSV文件 2.在该CSV文件中搜索字符串 3.如果找到字符串,请重写CSV文件特定行的特定部分 (可选)4。如果无法执行3,则:从CSV文件中删除该特定行 其他重要说明: -CSV文件每行有3个参数 1.一,二,三 2.四,五,六 -我将扫描CSV文件中的第一个参数以查找字符串 -我将调整CSV文件中的第二个参数 任何和所有的帮

因此,我对使用PHP编程非常陌生,虽然它不是我的第一种编程语言,但我很难学习足够的表达式和正确的语法来理解该做什么。有人能帮我写一个简单的脚本来完成以下任务吗

1.读取CSV文件 2.在该CSV文件中搜索字符串 3.如果找到字符串,请重写CSV文件特定行的特定部分 (可选)4。如果无法执行3,则:从CSV文件中删除该特定行

其他重要说明: -CSV文件每行有3个参数 1.一,二,三 2.四,五,六

-我将扫描CSV文件中的第一个参数以查找字符串

-我将调整CSV文件中的第二个参数


任何和所有的帮助将不胜感激!非常感谢您抽出时间。

在这里,我将为您开始

$input = fopen('input.csv', 'r');  //open for reading
$output = fopen('output.csv', 'w'); //open for writing


echo '<pre>'; //for debuging
while( false !== ( $data = fgetcsv($input) ) ){  //read each line as an array

    //modify data here
    var_export( $data );
    echo '<br />'; //also for debuging

     //write modified data to new file
    fputcsv( $output, $data);
}

//close both files
fclose( $input );
fclose( $output );

// delete input if you want to with unlink( 'input.csv' );
$input=fopen('input.csv','r')//开放阅读
$output=fopen('output.csv','w')//开放写作
回声'//调试用
而(false!==($data=fgetcsv($input)){//将每一行作为数组读取
//在此处修改数据
var_导出(数据);
echo“
”;//也用于调试 //将修改后的数据写入新文件 fputcsv($output,$data); } //关闭两个文件 fclose(投入); fclose(产出); //如果要取消链接('input.csv'),请删除输入;

享受吧

如果你想变得更花哨(或者如果你更喜欢OOP而不是过程),你可以使用这个


但更重要的是,如果您使用的是PHP<5.4,则没有fputcsv方法,似乎他们在5.4之前就忘记了它。

我建议查看fgetcsv()和fputcsv(),您必须阅读每一行,然后修改它并将其写入另一个文件。@derp我需要弄清楚如何访问这些信息,处理它,然后更改或重写它。@ArtisticPheonix谢谢,我将开始研究这些@Avix-查看我的答案,这是我能为您做的最基本的回答,如果file_存在并且是file等,您可能需要更多的验证。。当然没问题,我有一个很好的课程,我在CSV上做了很多工作,但它不是完全可以发布的,因为它有一些依赖性-简而言之,它使用SPLFileObjt非常感谢!这肯定会给我一个我需要的开始!:)我添加了一些可打印的内容,以便您可以阅读输出等。。。上次fclose()调用中还缺少“$”。