Php 使用Laravel Excel制作与pandas.read_csv(文件)等效的文件

Php 使用Laravel Excel制作与pandas.read_csv(文件)等效的文件,php,excel,laravel,pandas,laravel-excel,Php,Excel,Laravel,Pandas,Laravel Excel,我正在尝试使用Laravel Excel读取.csv/.xlsx文件,方法与使用Python库pandas读取.csv/.xlsx文件的方法相同,使用函数read_csv(),但不是将文件内容保存到数据框中,而是将其保存在一个集合中。因此,基本上将第一行标识为标题,并根据标题名称将其他行命名为键 目前,我可以使用此导入文件并运行以下命令将每一行保存到集合中: $collection = \Excel::toCollection(new TestImport, file); 好的,显然您需要做的

我正在尝试使用Laravel Excel读取.csv/.xlsx文件,方法与使用Python库pandas读取.csv/.xlsx文件的方法相同,使用函数read_csv(),但不是将文件内容保存到数据框中,而是将其保存在一个集合中。因此,基本上将第一行标识为标题,并根据标题名称将其他行命名为键

目前,我可以使用此导入文件并运行以下命令将每一行保存到集合中:

$collection = \Excel::toCollection(new TestImport, file);

好的,显然您需要做的就是实现WithHeadingRow关注点,代码如下所示:

<?php

namespace App\Imports;

use App\User;
use Illuminate\Support\Collection;
use Maatwebsite\Excel\Concerns\ToCollection;
use Maatwebsite\Excel\Concerns\WithHeadingRow;

class TestImport implements ToCollection, WithHeadingRow
{
    public function collection(Collection $rows)
    {
        return $rows;
    }
}


<?php

namespace App\Imports;

use App\User;
use Illuminate\Support\Collection;
use Maatwebsite\Excel\Concerns\ToCollection;
use Maatwebsite\Excel\Concerns\WithHeadingRow;

class TestImport implements ToCollection, WithHeadingRow
{
    public function collection(Collection $rows)
    {
        return $rows;
    }
}