看来由OpenOffice Excel编辑和保存的csv文件的分隔符是“;”。当Microsoft Office Excel为“,”时,无论使用哪个定界符,我都应该编写一个程序来解析csv文件?

最佳答案

我在我的一个应用程序中使用此功能来确定使用哪个分隔符:

function get_separator( $csvstring, $fallback = ';') {
    $seps = array(';',',','|',"\t");
    $max = 0;
    $separator = false;
    foreach($seps as $sep){
        $count = substr_count($csvstring, $sep);
        if($count > $max){
            $separator = $sep;
            $max = $count;
        }
    }

    if($separator) return $separator;
    return $fallback;
}

它基本上检查哪个分隔符最多出现并返回它。它已经工作了大约两年了

关于php - 当定界符变化时,我应该如何解析php中的csv文件?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5865711/

10-14 05:31