【发布时间】:2014-09-17 16:41:42
【问题描述】:
我的情况是这样的:CSV 文件的前 500kb 被编码为字符串并作为请求发送到我的服务器,运行 Laravel。如何让 Laravel 解析该字符串(它本身不是完整的 CSV 文件)以获取列标题和前几行数据?
我查看了 Goodby/CSV,但它看起来好像只能将文件作为输入,而不是字符串。是否有可以处理这种情况的 CSV 解释器插件,或者我应该期望自己编写一个解析器?
编辑:
看起来我可以这样做:
$Data = str_getcsv($CsvString, "\n"); //parse the rows
foreach($Data as &$Row) $Row = str_getcsv($Row, ","); //parse the items in rows
当然是我想多了。
【问题讨论】:
-
有什么理由不能只使用常规的 php 函数 str_getcsv()?
-
哦,完美。看起来我可以先使用它来获取行,然后再使用它来获取列。我将编辑我的问题。
-
我不明白这是什么意思'(它本身不是一个完整的 CSV 文件)'
-
@JaredEitnier 我的意思是,因为发送到服务器的字符串不是完整的 CSV 文件,所以字符串的最后一行可能格式不正确,导致尝试解析时出现一些问题。跨度>
标签: php string parsing csv laravel