![](/img/trans.png)
[英]How to read CSV file buffer and convert it to JSON in Laravel (PHP)?
[英]PHP Laravel read csv
我有一个 CSV 文件,其中数据位于横向.ex:
name, test name
age, 20
gender,Male
其中第一列是标题,第二列是数据,我尝试使用laravel maatwebsite/Excel
和读取文件后的响应,第一行作为标题。 ( name
和test name
)。
有什么方法可以使用 maatwebsite/Excel 在 laravel 中读取这种类型的 CSV 文件
你可以使用这个功能
public function readCSV($csvFile, $array)
{
$file_handle = fopen($csvFile, 'r');
while (!feof($file_handle)) {
$line_of_text[] = fgetcsv($file_handle, 0, $array['delimiter']);
}
fclose($file_handle);
return $line_of_text;
}
$csvFileName = "test.csv";
$csvFile = public_path('csv/' . $csvFileName);
$this->readCSV($csvFile,array('delimiter' => ','))
您不需要整个库。 PHP 有一个内置函数http://php.net/manual/en/function.str-getcsv.php
maatwebsite/Excel
最佳软件包(csv创建和读取)
您的方法正确,因此毫无疑问,请use maatwebsite/Excel
进行阅读
正如“在线托马斯”所说,有一个原生 PHP 函数,我发现像这样使用它最容易:
$csv = __DIR__ . '/data.csv';
$data = array_map('str_getcsv', file($csv));
警告:如果字段包含换行符,则不会产生所需的结果
如果您需要除“,”(或其他选项)以外的分隔符,请使用闭包:
$csv = __DIR__ . '/data.csv';
$data = array_map(function ($line) {
return str_getcsv($line, ';');
}, file($csv));
对于 2022 年的读者:我现在使用的是: https ://github.com/spatie/simple-excel
由于 LazyCollections,工作就像一个没有内存使用的魅力
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.