【发布时间】:2018-03-20 01:11:23
【问题描述】:
我正在尝试使用 PHP 以编程方式删除 CSV 文件中的空白行。文件上传到站点并使用 PHPExcel 转换为 CSV。正在生成一种特定类型的 CSV,数据行之间有空行,我正在尝试用 PHP 清理它们,但没有任何运气。下面是这个 CSV 的示例:https://gist.github.com/vinmassaro/467ea98151e26a79d556
我需要使用 PHPExcel 或标准 PHP 函数加载 CSV、删除空白行并保存它。提前致谢。
编辑:
这是当前使用 PHPExcel 转换它的方式的 sn-p。这是 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);
【问题讨论】:
-
考虑显示您使用的代码的相关部分...使用 PHPExcel 转换为 CSV。
-
echo str_replace("\r\n\r\n", "\r\n", $csv);不起作用? :) -
你在使用 FTP 吗?如果你在文本模式下传输,你可以得到双行尾stackoverflow.com/questions/11938942/…
-
此转换处理来自不同来源的文件,然后使用 HighCharts 库将 CSV 文件可视化。最近的一位消息人士试图以这种格式提交文件,但由于空白行而导致可视化失败。