Laravel excel 为这个 csv 数据结构导入 csv 配置?

问题描述

我正在尝试使用 Laravel-excel composer 包导入 csv 文件,但该 csv 文件与通常的 csv 文件不同, 然后我发现通过更改认 Laravel-excel 包的配置可以使其导入。但我无法确定此 csv 文件的配置是什么。

这里是 csv 数据示例

id  created_time    ad_id   ad_name adset_id    adset_name  campaign_id campaign_name           
l:132562915446228   2021-03-03T13:45:28+05:30   ag:23847391487180225    "Campaign 2021 feb" as:23847391487170225    
l:3689145127872575  2021-03-03T07:20:04+05:30   ag:23847391487180225    "Campaign 2021 feb" as:23847391487170225    
l:2374231269367799  2021-03-03T00:54:03+05:30   ag:23847391487180225    "Campaign 2021 feb" as:23847391487170225    
l:425446045204770   2021-03-02T18:44:41+05:30   ag:23847391487180225    "Campaign 2021 feb" as:23847391487170225    
l:184810853442455   2021-03-02T18:42:23+05:30   ag:23847391487180225    "Campaign 2021 feb" as:23847391487170225    
l:256522452772718   2021-03-02T17:11:56+05:30   ag:23847391487180225    "Campaign 2021 feb" as:23847391487170225    
l:1142930659490759  2021-03-02T12:13:24+05:30   ag:23847391487180225    "Campaign 2021 feb" as:23847391487170225    

当前的 csv 导入配置:

 'csv'         => [
            'delimiter'        => ',','enclosure'        => '"','escape_character' => '\\','contiguous'       => false,'input_encoding'   => 'UTF-8',],

我只需要有效的配置来导入这个 csv

解决方法

我通过向我的导入类添加 use WithCustomCsvSettings 关注并从类内部添加配置来解决此问题。在这里

<?php

use Maatwebsite\Excel\Concerns\WithCustomCsvSettings;


class Import implements  WithCustomCsvSettings
{


    //set csv configs
    public function getCsvSettings(): array
    {
        return [
            'delimiter' => "\t",'enclosure'        => '','escape_character' => '\\','contiguous'       => false,'input_encoding'   => 'UTF-8',// if this not worked use `UCS-2`
        ];
    }
}