解析csv文件php

kei*_*ith 3 php csv

我有一个csv文件,我想用PHP.csv中的第一件事是列名.一切都用逗号分隔.

我希望能够将列名称作为数组名称,并且该列的所有值都将在该数组名称下.因此,如果column1下有20行,那么我可以执行column1 [0],并且第一个实例(不是列名)将显示为column1.

我该怎么办?

cod*_*ict 9

您希望fgetcsv它将CSV文件的每一行都作为一个数组.由于您希望将每个列放入其自己的数组中,因此可以从该数组中提取元素并将其添加到表示列的新数组中.就像是:

$col1 = array();
while (($row = fgetcsv($handle, 1000, ",")) !== FALSE) {
  $col1[] = $row[0];
}
Run Code Online (Sandbox Code Playgroud)

或者,您可以使用fgetcsv2D矩阵(如果CSV文件不是太大)读取整个CSV文件,如下所示:

$matrix = array();
while (($row = fgetcsv($handle, 1000, ",")) !== FALSE) {
  $matrix[] = $row;
}
Run Code Online (Sandbox Code Playgroud)

然后将您想要的列提取到自己的数组中:

$col1 = array();
for($i=0;$i<count($matrix);$i++) {
  $col1[] = $matrix[0][i];
}
Run Code Online (Sandbox Code Playgroud)

  • @keith没有冒犯,但如何阅读API文档并尝试自己,而不是要求人们为您编写代码.此外,如何处理CSV文件已经在SO上经常被问及并回答,所以为什么不使用搜索功能作为一些例子. (6认同)