-2

.csv 文件:

question1,question2,question3,question4,question5,question6,question7,question8,question9,question10
yes,response,response,response,response,response,response,response,response,response
yes,response2,response2,response2,response2,response2,response2,response2,response2,response2
no,response3,response3,response3,response3,response3,response3,response3,response3,response3

我想在 php.ini 中得到这个结果。

$question = "the_question_goes_here"

问题1
是 = 2
否 = 1

代码必须找到每个问题的唯一答案并计算每个问题的数量。

任何人都可以帮忙吗?

4

2 回答 2

0

str_getcsv()可用于将 csv 字符串作为数组获取。

使用它,您可以在数组上编写一个循环来计算值(在伪代码中):

counts = array;
//Loop over each row
for(row in csvrows){
     for(cell in row){
         counts[rowHeader][cellValue] = counts[rowHeader][cellValue]+1;
     }
}
于 2013-02-04T20:58:58.810 回答
0

这应该可以将文件内容读入 PHP

$data= array();    
$row = 1;
if (($handle = fopen("test.csv", "r")) !== FALSE) {
    while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
        foreach ($data as $position => $value)  {
            if($row == 1) {
                $data[$position]['question'] = $value;
                $data[$position]['yes'] = 0;
                $data[$position]['no'] = 0;
                continue;
            }
            if ($value == 'yes') {
                  $data[$position]['yes'] = $data[$position]['yes'] + 1
            } elseif ($value == 'no') {
                  $data[$position]['no'] = $data[$position]['no'] + 1
            }
        }
        $row++;            
    }        
    fclose($handle);
}

这将返回一个数组,您可以像这样读取

  • 数组值
    • '问题'键持有文本
    • 'yes' 键持有 numOf 是
    • 'no' 键持有 numOf 否
于 2013-02-04T21:00:55.157 回答