php快速解析csv(excel可另存为csv再解析)

{
    /**
     * @param String $csvFile csv文件路径
     * @param int $lineColumnNum 每行的列数,用于过滤不整齐的数据
     * @return array
     */
    public static function readCsv($csvFile,$lineColumnNum){
        if(!file_exists($csvFile)){
            exit('file not exists');
        }
        $fp = fopen($csvFile,'r');
        if(!$fp){
            exit('failed to open the file '.$csvFile);
        }
        $list=[];
        while(!feof($fp)){
            $line = fgets($fp);
            $data = explode(',',$line);
            if((!$data) || (count($data)!=$lineColumnNum)){
                // 屏蔽无效数据 或格式不统一数据
                continue;
            }
            foreach ($data as $k=>$v){
                // 过滤空格
                $data[$k]=trim($v);
            }
            $list[] = $data;
        }
        fclose($fp);
        // 去掉第一个数据,标题
        array_shift($list);
        return $list;
    }
}

猜你喜欢

转载自blog.csdn.net/wang740209668/article/details/107734142