簡體   English   中英

如何使用PHP篩選csv文件特定列中的單詞

[英]How to filter on a word in a specific column of a csv file with PHP

我正在嘗試僅顯示特定列中包含特定單詞的行。 基本上,我只想顯示“顯示”列中具有“是”的行。

First_Name, Last_Name, Display
Kevin,      Smith,     yes
Jack,       White,     yes
Joe,        Schmo,     no

我一直在嘗試從其他答案和php.net用fgetcsv和str_getcsv進行各種操作,但到目前為止沒有任何效果。

它什么也沒做,但這是我當前的代碼:

$csv  = fopen('file.csv', 'r');

$array = fgetcsv($csv);

foreach ($array as $result) {
    if ($array[2] == "yes") {
        print ($result);
     }
}

讓我們看一下fgetcsv()的文檔

從文件指針獲取行並解析CSV字段

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數據。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM