Php 更改csv文件格式并读取键值为csv的一行

Php 更改csv文件格式并读取键值为csv的一行,php,arrays,csv,delimiter,file-read,Php,Arrays,Csv,Delimiter,File Read,我有一个csv文件,这个csv文件在值之间没有逗号(,),但它有一个cap(^)符号。 我现在需要做两件事。 1.更改此上限并在csv中的每个值后获取逗号。 2.我需要读取一个完整的csv文件,该文件几乎有37列放入数组的一行中,第一列作为数组的键 这两件事都必须使用php来完成 我正在尝试通过在线Exmaple,比如 function csv_to_array($filename='mycsv.csv', $delimiter=',') { if(!file_exists($filen

我有一个csv文件,这个csv文件在值之间没有逗号(,),但它有一个cap(^)符号。 我现在需要做两件事。 1.更改此上限并在csv中的每个值后获取逗号。 2.我需要读取一个完整的csv文件,该文件几乎有37列放入数组的一行中,第一列作为数组的键

这两件事都必须使用php来完成

我正在尝试通过在线Exmaple,比如

function csv_to_array($filename='mycsv.csv', $delimiter=',')
{
    if(!file_exists($filename) || !is_readable($filename))
        return FALSE;

    $header = NULL;
    $data = array();
    if (($handle = fopen('mycsv.csv', 'r')) !== FALSE)
    {
        while (($row = fgetcsv($handle, 1000, $delimiter)) !== FALSE)
        {
            if(!$header)
                $header = $row;
            else
                $data[] = array_combine($header, $row);
        }
        fclose($handle);
    }
    return $data;
}
我感到困惑的是,我的实际csv文件是“abc”^“def”^”,因此abc是一个值,def是另一个值,两者之间用“^如何说首先删除“^获取整个字符串开始于”和结束于”分隔,并添加逗号


我想在数组中使用类似的内容

到目前为止,您在php中尝试了什么?有代码吗?允许您指定分隔符。“连同第一列作为数组的键”是指第一行吗?第一列作为键没有多大意义。现在请看一下代码#BenRoob“如何删除^并添加逗号?”“你不必。只需在传递给
csv\u to_array()
的参数中将
^
指定为
$delimiter
,并且
fgetcsv()
将在
^
而不是
上拆分。