解析CSV内容

时间:2014-01-21 10:39:04

标签: php parsing csv

这一定相对容易,但我很难找到解决方案。我使用加密的专有网络协议接收数据,最后整个接收的内容最终变量。内容实际上是CSV文件的内容 - 我需要解析这些数据。

如果这是磁盘上的常规文件,我可以使用fgetcsv;如果我能以某种方式将内容分解为单个记录,我可以使用str_getcsv - 但是如何将此文件分成记录?简单读取直到换行不起作用,因为CSV可以包含带有换行符的值。以下是一组示例数据:

ID,SLN,Name,Address,Contract no
123,102,Market 1a,"Main street, Watertown, MA, 02471",16
125,97,Sinthetics,"Another address,
Line 2
City, NY 10001",16
167,105,"Progress, ahead",,18

所有这些数据都保存在一个变量中 - 我需要解析它。

当然,我总是可以将这些数据写入磁盘上的临时文件,使用fgetcsv读取/解析它,但对我来说效率似乎非常低。

1 个答案:

答案 0 :(得分:0)

如果fgetcsv适合您,请考虑以下事项:

file_put_contents("php://temp",$your_data_here);
$stream = fopen("php://temp","r");
// $result = fgetcsv($stream); ...

有关php://temp的更多信息,请参阅the php:// wrapper