CSV os arquivos contêm valores separados por vírgula e são o formato popular e bem estabelecido de manipulação de dados usado para armazenar os dados em formato tabular. Esses arquivos podem ser facilmente criados pelo MS Excel, OpenOffice e Google Sheets. Analisando o CSV file está lendo o arquivo linha por linha e separando as linhas em valores de matriz.
Neste guia, explicaremos como você pode analisar um CSV arquivo usando PHP.
Analisar um arquivo CSV usando PHP
O método interno do PHP que analisa o arquivo CSV é fgetcsv() e lê uma linha do arquivo CSV e a analisa em uma matriz.
A sintaxe de uso do fgetcsv() função em PHP é a seguinte:
fgetcsv ( '
Esta função aceita três parâmetros, o nome do arquivo, o comprimento do parâmetro opcional da linha mais longa e outro delimitador de campo de parâmetro opcional. O delimitador de campo padrão é a vírgula com aspas duplas como delimitador.
Use a função fgetcsv () para analisar um arquivo CSV em PHP
Aqui está como você pode usar o fgetcsv() função para analisar um arquivo CSV em PHP:
Passo 1 : Primeiro, abra um arquivo CSV usando o fopen() função. Aqui modo r é usado para abrir o arquivo para leitura e $handle é o identificador para armazenar os dados do arquivo:
$handle = fopen ( 'nome do arquivo.csv' , 'r' ) ;
Passo 2 : Depois disso, você pode usar um loop while para analisar cada CSV linha separadamente, o loop continuará até o final do arquivo:
enquanto ( ( $dados = fgetcsv ( $handle , 1000 , ',' ) ) !== FALSO ){
// Lê os dados do arquivo CSV
}
etapa 3 : Depois que o arquivo for lido, você deve fechá-lo usando a função fclose() passando handle como único argumento.
fechar ( $handle ) ;Aqui está um código completo em PHP que segue os passos acima e permite que você abra o arquivo CSV em modo somente leitura, se o arquivo for encontrado, caso contrário ele retornará falso :
$handle = fopen ( 'dados.csv' , 'r' ) ;
enquanto ( ( $ linha = fgetcsv ( $handle ) ) !== falso ) {
var_dump ( $ linha ) ;
}
fechar ( $handle ) ;
?>
O código acima primeiro abre o arquivo 'data.csv' no modo de leitura usando a função fopen() e atribui o identificador de arquivo à variável $handle. Depois disso, ele lê cada linha do arquivo usando um loop while e a função fgetcsv(). O código usa a comparação !== false para garantir a leitura até que o final do arquivo seja alcançado.
Saída
Converter arquivo CSV em array multidimensional em PHP
Você também pode analisar um CSV arquivo convertendo-o em uma matriz multidimensional para que os dados sejam lidos facilmente dentro do arquivo. O código a seguir ajudará você a extrair os dados do arquivo CSV de maneira mais organizada.
$arquivo = 'dados.csv' ;
$nested_array = [ ] ;
se ( ( $handle = fopen ( ' {$filename} ' , 'r' ) ) !== FALSO )
{
enquanto ( ( $dados = fgetcsv ( $handle , 1000 , ',' ) ) !== FALSO )
{
$nested_array [ ] = $dados ;
}
fechar ( $handle ) ;
}
eco '
';
var_dump ( $nested_array ) ;
eco '' ;
Para tornar os dados em formato legível, o código acima usa a função chamada var_dump() que formata e gera os dados de maneira estruturada em uma pré-tag HTML.
Saída
Aqui está outra maneira de abrir o CSV arquivo em PHP de forma mais personalizada. O código fornecido abaixo exibirá os dados de cada linha. Primeiro, abrimos o arquivo usando o função fopen() . Em seguida, use o identificador para colocar cada linha do arquivo nele e use o loop while para ler todo o CSV arquivo até que o ponteiro chegue ao final do arquivo. No final, fechamos o arquivo:
$ linha = 1 ;
se ( ( $handle = fopen ( 'dados.csv' , 'r' ) ) !== FALSO ) {
enquanto ( ( $dados = fgetcsv ( $handle , 1000 , ',' ) ) !== FALSO ) {
$números = contar ( $dados ) ;
eco '
$números campos em linha $ linha :
$ linha ++;
para ( $c = 0 ; $c < $números ; $c ++ ) {
eco $dados [ $c ] . '
\n ' ;
}
}
fechar ( $handle ) ;
}
?>
Saída
Conclusão
Em PHP , podemos abrir o arquivo usando o fopen() função, leia o arquivo linha por linha usando o fgetcsv() função e feche o arquivo usando o fclose() função. Este processo pode ser repetido para cada linha no CSV arquivo, permitindo que você facilmente leia e manipule dados tabulares em PHP.