php - 即使在修剪后,CSV 联盟也会在字符串的开头显示一些空格
问题描述
我正在使用https://csv.thephpleague.com/读取 csv 的代码是:
if (!ini_get("auto_detect_line_endings")) {
ini_set("auto_detect_line_endings", TRUE);
}
$csv = Reader::createFromPath($path, 'r');
$input_bom = $csv->getInputBOM();
if ($input_bom === Reader::BOM_UTF16_LE || $input_bom === Reader::BOM_UTF16_BE) {
$csv->addStreamFilter('convert.iconv.UTF-16/UTF-8');
}
$csv->skipEmptyRecords();
$csv->setHeaderOffset($header_row);
$csv_header = $csv->getHeader();
/**unit_number **/
$unit_number_key = array_search('unit_number', $request->row);
$unit_number_results = $csv->fetchColumn($unit_number_key);
$unit_number_lists = iterator_to_array($unit_number_results, false);
if($header_row > 0){
$unit_number_lists = array_slice($unit_number_lists,$header_row);
}
$unitNumbers = array();
$unit_numbers = array_filter(array_unique($unit_number_lists));
foreach($unit_numbers as $uk => $uv){
$r_trimmed_uv = trim($uv);
$str_len = strlen($r_trimmed_uv);
if(!isset($unitNumbers[$str_len])){
$unitNumbers[$str_len] = $r_trimmed_uv;
}
dd($unitNumbers);
结果dd
显示为:
在这里,我们可以确认有 10 个字符(6 个空格)和(4 个数字)。我该如何解决它,我不知道它是否以不同的格式编码,这就是问题所在,或者我是否缺少按照 CSV 添加一些行。但是,我无法从这里删除这个空间。
而且,这里是示例文件:https ://drive.google.com/file/d/1i3ry8AoGzfNG-K6AWpWvhzSQ8QkreOB0/view?usp=sharing
解决方案
推荐阅读
- excel - VBA代码在可见单元格中粘贴特殊值
- api - Twiitter python API 无法连接流式传输
- git - 尝试通过 SSH 克隆使用了错误的公钥
- ios - Swift - 如何确定 collectionView 的 scrollView.content.y?
- bash - 为什么以下字符串比较会返回不同的结果?
- r - Shiny:渲染输出时如何防止输入重复?
- python - 如何使用 Shopify Python API 包装器对结果进行分页
- python - 如何自定义pytorch数据
- python-3.x - “ModuleNotFoundError: No module named 'zlib'” 当我使用 buildroot 添加 python3 支持时
- java - 安装 jhipster 后 JAVA_HOME 设置为无效目录