我在这里要做的是用我从csv文件中获得的数据创建一个数组。我已经尝试过str_getcsv
,但它不能正常工作。
'Not Atribuited,"Agility Client","Servers AD","3 - Média","05/01/2015 09:13","3,0000000000","0","1"'
'Not Atribuited,"Rand Client","Servers AK","3 - Média","05/01/2015 09:13","3,0000000000","0","1"'
这是csv文件中的两行示例,您可以看到第一项位于引号外,其他引号内有逗号,不能拆分。
我尝试的代码是:
$file = fopen("clientes/AMIL/Cliente_Prioridade.csv", "r");
while(! feof($file))
{
$csv_line[] = fgetcsv($file);
}
fclose($file);
foreach ($csv_line as $col) {
$line = $col[0];
$data[] = explode(',', $col[0]);
}
这就是结果。
array (size=278)
0 =>
array (size=7)
1 => string '"Acc Name"' (length=15)
2 => string '"Subject"' (length=9)
3 => string '"Priority"' (length=12)
4 => string '"Date"' (length=23)
5 => string '"Duration (Horas)"' (length=17)
6 => string '"Open"' (length=8)
7 => string '"Closed"' (length=9)
1 =>
array (size=9)
0 => string 'Andrew Deco' (length=11)
1 => string '"BANCO Example S/A"' (length=22)
2 => string '"Novo Processo - Pessoas Autorizadas a Abrir Chamado"' (length=62)
3 => string '"4 - Baixa"' (length=11)
4 => string '"05/01/2015 10:20"' (length=18)
5 => string '"6' (length=2)
6 => string '0000000000"' (length=11)
7 => string '"0"' (length=3)
8 => string '"1"' (length=3)
2 =>
array (size=9)
0 => string 'Not Atribuited' (length=14)
1 => string '"Agility Client"' (length=18)
2 => string '"Agility | Servers AD"' (length=25)
3 => string '"3 - Média"' (length=11)
4 => string '"05/01/2015 09:13"' (length=18)
5 => string '"3' (length=2)
6 => string '0000000000"' (length=11)
7 => string '"0"' (length=3)
8 => string '"1"' (length=3)
试着像一样使用explode
函数
$i = 0;
foreach (file('path/to/your/file.csv') as $line){
$array[$i] = explode(',', $line);
$i++;
}