C ++ Leia o arquivo CSV

C ++ Leia o arquivo CSV

O CSV é a forma curta de valores separados por vírgula, que são usados ​​para armazenar dados representados em forma tabular com a extensão “.CSV ”. Nisso, cada valor separado por vírgula representa um campo de dados ou um registro em que cada linha indica um único registro contra um objeto. O C ++ não suporta uma biblioteca interna para ler arquivos CSV, mas podemos lê-los como outros arquivos de texto estão sendo lidos. Os arquivos CSV são lidos linha por linha e cada valor de um registro é separado pela vírgula delimitadora ", enquanto cada linha é separada pelo delimitador de nova linha"/n ". Os arquivos CSV são usados ​​principalmente para transferir dados do Excel para o MySQL. Ele permite que as empresas transfiram um alto volume de dados para um banco de dados mais compactado.

Sintaxe

Não há sintaxe predefinida para ler um arquivo CSV em C ++ porque não é um comando ou biblioteca, é tão simples quanto ler um arquivo de texto.

Na figura mostrada, cada linha representa o registro de um funcionário em que cada valor separado pela vírgula "" é um campo ou a característica do funcionário. O nome do arquivo exibido na parte superior da figura é “funcionário.CSV ", onde" funcionário "está com a extensão".CSV ”.

Exemplo # 01:

Neste exemplo, implementaremos um código no qual primeiro criaremos um novo arquivo e depois leremos esse arquivo. O arquivo terá os dados de um funcionário, incluindo o nome do funcionário, o departamento e o salário do funcionário. Vamos agora passar para o nosso código, depois de incluir nosso arquivo de cabeçalho iostream, que é usado para permitir que o compilador execute operações de entrada e saída. Em seguida, inclua o Fream que nos permite trabalhar com arquivos, como criar modificação, exclusão, etc, e a terceira biblioteca que incluímos é a biblioteca de cordas que nos permite trabalhar com as strings ou a coleção de caracteres.

Mudamos para nossa função principal, onde criaremos um arquivo para armazenar dados dos funcionários. Vamos primeiro declarar a variável fStream "myfile" que usaremos para trabalhar com o arquivo. Na próxima etapa, usamos o myfile.aberto, que é usado para abrir um arquivo existente ou para criar um novo arquivo para esta instrução OPEN (). Vamos passar o nome do arquivo e o argumento iOS :: Out, que nos permite escrever no arquivo.

Depois de abrir o arquivo, passaremos os valores para os valores usando a variável "myfile". Nisso, a variável "MyFile" será usada para escrever os valores fornecidos no arquivo CSV. Passamos os dados de 3 funcionários, nomeando "John Smith", "Rick Adson" e "Victoria William". Contra com isso, seu departamento e salários também são aprovados. Depois de escrever todos os valores no arquivo, fecharemos o arquivo com sucesso usando a palavra -chave Close ().

#incluir
#incluir
#incluir
usando namespace std;
int main ()

fStream MyFile;
meu arquivo.aberto ("funcionário.CSV ", iOS :: Out);
meu arquivo<<"Name"<<","<<"department"<<","<<"salary"<<"\n";
meu arquivo<<"Jhone smith"<<","<<"Information technology"<<","<<"$122"<<"\n";
meu arquivo<<"Jhone smith"<<","<<"Information technology"<<","<<"$122"<<"\n";
meu arquivo<<"Jhone smith"<<","<<"Information technology"<<","<<"$122"<<"\n";
meu arquivo.fechar();

Depois de criar o arquivo CSV, passaremos agora em direção ao nosso processo de leitura, no qual declaramos duas variáveis. O primeiro será a variável FStream que lidará com as funções de abertura e leitura do arquivo e a segunda será a variável de string que será responsável por manter o valor que é analisado do arquivo pela variável "MyFile2", as variáveis ​​da string Neste exemplo é "detalhes".

Após a declaração da variável, simplesmente exibimos o texto para o sucesso da criação de arquivos para verificar se o código está funcionando ou não. Agora, usando a nova variável FStream "MyFile2", abriremos o arquivo "funcionário.CSV ”usando uma declaração aberta para a qual passamos o nome do arquivo que queremos ler e a palavra -chave“ iOS :: IN: ”responsável por abrir o arquivo como modo de leitura. Uma coisa a ter em mente para o método de leitura, você não pode usar ou definir a mesma variável FStream porque exibirá um erro que a variável já existe.

Em nossa próxima etapa, definimos o loop que será executado quatro vezes. Começará do índice zero ao índice três, o que significa que todas as quatro linhas serão impressas. E cada valor será separado pela vírgula delimitadora. Dentro do loop for, chamamos uma função "getLine ()", que é a biblioteca interna fornecida por c ++ para obter os valores do arquivo ou memória especificada. Para a função GetLine, passamos duas variáveis ​​para o "myfile2" e a segunda variável "detalhes". A variável MyFile2 lê os valores armazenados no arquivo um por um e os passa para a variável de detalhes. Usando a declaração "cout", exibimos o valor armazenado na variável "detalhes". No final do código, o valor nulo é retornado.

fStream myfile2;
detalhes da string;
cout<<"\nCsv File created!";
cout<<"\n\nDisplaying the content of CSV file\n\n";
myfile2.aberto ("funcionário.CSV ", iOS :: in);
para (int i = 0; i<=2; i++)

getLine (myfile2, detalhes);
cout<
retornar 0;

Como mostrado no trecho abaixo, o “funcionário.O arquivo CSV ”contém 4 linhas. A primeira linha é o rótulo que define os campos, exibindo o nome, departamento e salário do funcionário. Cada campo na linha é separado usando uma vírgula onde cada registro é separado por meio de um novo comando de linha “/n”.

Vamos descobrir a saída que obtivemos após a execução do código de leitura. Na captura de tela abaixo, o conteúdo do arquivo “funcionário.CSV ”é exibido. Todas as linhas do arquivo são executadas com a separação de valores usando vírgula ",".

Conclusão

Neste guia, abordamos o tópico de como ler um arquivo CSV em C++. Não há funcionalidade interna no C ++ para ler ou gravar arquivos CSV, mas podemos usar as bibliotecas GetLine, FStream e String para executar operações de gravação ou leitura nos arquivos CSV. C ++ suporta trabalhar com todos os tipos de sistema de enchimento, bem como arquivos CSV. É a melhor maneira de ler uma grande quantidade de dados por código simples que executamos em nosso exemplo.