1

我有一个大的 CSV 文件。第一列包含处理器的名称。第二,处理器的基准分数。例如:

Intel Pentium Dual T3400 @ 2.16GHz,1322

使用 PHP 脚本,我想在第一列中搜索字符串(例如 Pentium Dual T3400),并且(假设每次搜索只有一个结果,否则返回错误消息)创建一个包含第二列。

我不知道这是否会有所帮助,但我有点希望它看起来像这样:

$cpuscore = csvsearch(CSV_file,query_string,column#_to_search,column#_to_return)

其中 $cpuscore 将包含与搜索查询匹配的处理器名称的分数。

随意提出一些会产生类似结果的东西。我有 MySQL,但我没有从 CSV 导入表的权限。

4

2 回答 2

1

可以使用php函数fgetcsv(),http ://php.net/manual/en/function.fgetcsv.php逐行遍历csv文件。例如:

$ch = fopen($path_to_file, "r");
$found = '';

/* If your csv file's first row contains Column Description you can use this to remove the first row in the while */
$header_row = fgetcsv($ch);

/* This will loop through all the rows until it reaches the end */
while(($row = fgetcsv($ch)) !== FALSE) {

    /* $row is an array of columns from that row starting at 0 */
    $first_column = $row[0];

    /* Here you can do your search */
    /* If found $found = $row[1]; */
    /* Now $found will contain the 2nd column value (if found) */

}
于 2012-10-16T20:30:14.647 回答
0

我喜欢遍历 csv 文件的每一行并找到我要查找的单词,然后从那里编译结果。这里有一些东西可以帮助你开始:

     <?php
   $query = "Intel Core i7 3600M"     
   $file = file('db.csv');    
       foreach($file as $value) { 
         if(stristr($value,$query)){
            $items = explode(",", $value); echo $items[1];
              }; 
         };
    ?>
于 2012-10-16T20:29:34.990 回答