如何使用 PHP 过滤 csv 文件特定列中的单词
How to filter on a word in a specific column of a csv file with PHP
我试图只显示特定列中包含特定单词的行。基本上我只想显示显示列中有 "yes" 的行。
First_Name, Last_Name, Display
Kevin, Smith, yes
Jack, White, yes
Joe, Schmo, no
我一直在尝试使用 fgetcsv 和 str_getcsv 从其他答案和 php.net 进行各种尝试,但到目前为止没有任何效果。
它什么也没做,但这是我当前的代码:
$csv = fopen('file.csv', 'r');
$array = fgetcsv($csv);
foreach ($array as $result) {
if ($array[2] == "yes") {
print ($result);
}
}
我们来看看the documentation for fgetcsv()
:
Gets line from file pointer and parse for CSV fields
fgetcsv
读取 单行 ,而不是整个文件。您可以通过将文件放入 while
循环来继续读取行直到到达文件末尾,例如
<?php
$csv = fopen('file.csv', 'r');
// Keep looping as long as we get a new $row
while ($row = fgetcsv($csv)) {
if ($row[2] == "yes") {
// We can't just echo $row because it's an array
//
// Instead, let's join the fields with a comma
echo implode(',', $row);
echo "\n";
}
}
// Don't forget to close the file!
fclose($csv);
你应该使用数据表。
https://datatables.net/examples/basic_init/zero_configuration.html
这就是我处理文本文件的方式。但要小心,对于大量数据(> 10000 行),您应该对 deferRender 选项有所了解。
https://datatables.net/reference/option/deferRender <-- JSON 需要数据。
我试图只显示特定列中包含特定单词的行。基本上我只想显示显示列中有 "yes" 的行。
First_Name, Last_Name, Display
Kevin, Smith, yes
Jack, White, yes
Joe, Schmo, no
我一直在尝试使用 fgetcsv 和 str_getcsv 从其他答案和 php.net 进行各种尝试,但到目前为止没有任何效果。
它什么也没做,但这是我当前的代码:
$csv = fopen('file.csv', 'r');
$array = fgetcsv($csv);
foreach ($array as $result) {
if ($array[2] == "yes") {
print ($result);
}
}
我们来看看the documentation for fgetcsv()
:
Gets line from file pointer and parse for CSV fields
fgetcsv
读取 单行 ,而不是整个文件。您可以通过将文件放入 while
循环来继续读取行直到到达文件末尾,例如
<?php
$csv = fopen('file.csv', 'r');
// Keep looping as long as we get a new $row
while ($row = fgetcsv($csv)) {
if ($row[2] == "yes") {
// We can't just echo $row because it's an array
//
// Instead, let's join the fields with a comma
echo implode(',', $row);
echo "\n";
}
}
// Don't forget to close the file!
fclose($csv);
你应该使用数据表。 https://datatables.net/examples/basic_init/zero_configuration.html
这就是我处理文本文件的方式。但要小心,对于大量数据(> 10000 行),您应该对 deferRender 选项有所了解。 https://datatables.net/reference/option/deferRender <-- JSON 需要数据。