我正在尝试以编程方式删除使用PHP的CSV文件中的空白行。文件被上传到网站并使用PHPExcel转换为CSV。一个特定类型的CSV是在数据行之间用空行生成的,我试图用PHP清理它们,没有任何运气。这里是一个这样的CSV的例子:https://gist.github.com/vinmassaro/467ea98151e26a79d556用PHP或PHPExcel删除CSV文件中的空行?

我需要加载CSV,删除空行,并保存它,使用PHPExcel或标准的PHP函数。提前致谢。

编辑: 以下是目前如何使用PHPExcel进行转换的代码片段。这是一个Drupal钩子的一部分,作用于刚刚上传的文件。我无法得到PHPExcel removeRow方法的工作原理,因为它似乎不适用于空行,只有空行数据。

// Load the PHPExcel IOFactory.

require_once(drupal_realpath(drupal_get_path('module', 'custom')) . '/PHPExcel/Classes/PHPExcel/IOFactory.php');

// Load the uploaded file into PHPExcel for normalization.

$loaded_file = PHPExcel_IOFactory::load(drupal_realpath($original_file->uri));

$writer = PHPExcel_IOFactory::createWriter($loaded_file, 'CSV');

$writer->setDelimiter(",");

$writer->setEnclosure("");

// Get path to files directory and build a new filename and filepath.

$files_directory = drupal_realpath(variable_get('file_public_path', conf_path() . '/files'));

$new_filename = pathinfo($original_file->filename, PATHINFO_FILENAME) . '.csv';

$temp_filepath = $files_directory . '/' . $new_filename;

// Save the file with PHPExcel to the temp location. It will be deleted later.

$writer->save($temp_filepath);

2013-10-21

Vincent

+0

考虑到显示的代码相关部分在你使用* ...使用PHPExcel转换为CSV。* –

+1

'echo str_replace(“\ r \ n \ r \ n”,“\ r \ n”,$ csv);'不起作用? :) –

+0

你使用FTP吗?如果你在文本模式下传输,你可以得到两倍行结束http://stackoverflow.com/questions/11938942/ftp-binary-x-ascii-automatic-selection –

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐