php – 如何使用fgetcsv省略空白行
发布时间:2020-12-13 17:08:27 所属栏目:PHP教程 来源:网络整理
导读:我一直在努力将csv文件导入 mysql数据库.问题是我的客户端已经获得了一些格式错误的文件.行以43结尾但文件下降到65078 !! 导入时,脚本需要永久.我该怎么做才能确保只导入0到44之间的行?这是我正在使用的代码. table?php//fgetcsv($handle,1024,delimiter)$f
我一直在努力将csv文件导入
mysql数据库.问题是我的客户端已经获得了一些格式错误的文件.行以43结尾但文件下降到65078 !!
导入时,脚本需要永久.我该怎么做才能确保只导入0到44之间的行?这是我正在使用的代码. <table> <?php //fgetcsv($handle,1024,delimiter) $file = fopen("prices.csv","r"); $row = 0; while($csv_line = fgetcsv($file,1024)) { if($row == 4){ echo "How many headers do we have: ".count($csv_line)."<tr>"; foreach($csv_line as $header){ if($header !== NULL){ print "<td>$header</td>"; } } echo "</tr>"; } if($row > 6) { echo '<tr>'; for ($i = 0,$j = count($csv_line); $i < $j; $i++) { echo '<td>'.$csv_line[$i].'</td>'; } echo "</tr>n"; } else { $row++; } } ?> </table> 解决方法
如果填充的行数没有修复,您可以使用类似的方法:
if (empty($line)) { break; } 您的评论给了我一个更好的解决方案的想法: 这里http://php.net/manual/en/function.fgetcsv.php出现这个“CSV文件中的空白行将作为包含单个空字段的数组返回”,所以这可能有助于: while(($csv_line = fgetcsv($file,1024))&& $csv_line [0]){ 将只读取,直到找到一个空行. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |