Como analisar um arquivo CSV usando PHP

Como Analisar Um Arquivo Csv Usando Php



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 ( '.csv' , comprimento , ',' )

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 :

\n '
;

$ 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.