我是 PHP 新手,希望能够读取包含两列的 csv 文件,一列是数字(有点像 ID),另一列包含整数值。我查找了 fgetcsv 函数,但无法找到从 csv 文件中读取特定列的方法。
我只想从第二列获取所有值,不带标题。
有什么办法吗?
这是我目前所拥有的:
$file = fopen('data.csv', 'r');
$line = fgetcsv($file);
这是 csv 文件中的一些示例数据:
ID,Value
1,243.00
2,243.00
3,243.00
4,243.00
5,123.11
6,243.00
7,180.00
8,55.00
9,243.00
如有任何帮助,我们将不胜感激。
谢谢。
最佳答案
fgetcsv() 一次只读取文件的一行。您必须循环读取文件才能全部获取:
$data = array();
while($row = fgetcsv($file)) {
$data[] = $row;
}
您可以通过在循环外执行 fgetcsv 来跳过标题,以读取/清除标题值。如果你只想要第二列,你可以这样做:
$data[] = $row[1];
但是,由于您已经在其中获取了数据,因此保留它可能会有用,并在 csv 中使用 ID 值键入您的新数组,这样您还可以:
$data[$row[0]] = $row[1];
然后您漂亮 Shiny 的新数组将与 csv 中的内容几乎完全匹配,但作为由 ID 字段键入的数组。
关于PHP 以数组形式读取特定的 csv 文件列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12009023/