Antes de mergulhar profundamente em nosso tópico, informe -nos sobre os arquivos CSV. CSV é o valor separado por vírgula. Todos os valores nesse arquivo são separados usando vírgulas que indicam que esse tipo de arquivo armazena os dados em um formulário tabular. Os arquivos CSV são usados para armazenar dados relacionados a algum objeto. Suponha que tenhamos informações sobre um funcionário que inclua nome, salário, departamento, etc. Cada linha indica o número de registros e cada registro consiste em um ou mais campos que são separados por vírgulas. Linhas são os registros de objetos em que cada registro contém várias colunas. Tem um número igual de vírgulas porque é uma forma tabular. Os arquivos CSV são usados em arquivos de troca de dados. Sabemos que não há método ou palavra -chave específica para gravar em um arquivo CSV. Se quisermos gravar em um arquivo CSV, precisamos usar os tipos de dados de E/S do arquivo, e a codificação baseada em lógica será executada para gravar em um arquivo CSV.
Sintaxe
Não existe uma sintaxe tão específica para escrever em arquivos CSV.
Esta é uma amostra de como os arquivos CSV parecem. Todos os valores nele são separados usando vírgulas ", e cada linha indica as características de um único objeto. No trecho anterior, podemos ver que os dados do funcionário são armazenados e cada linha contém detalhes de um funcionário, onde cada coluna indica o número de características.
Exemplo # 01
Vamos começar criando um arquivo CSV simples. Criar um arquivo CSV é semelhante à criação de um arquivo de texto. Por exemplo, obtendo dados do usuário e escrevê -los no arquivo usando vírgulas "," como delimitador e "/n" como um separador de linha. Neste exemplo, criaremos um arquivo CSV no qual armazenaremos três registros de estudantes com atributos "nome", "id", "classe" e "nome da faculdade". Esses registros são retirados do usuário como entrada. Vamos agora olhar para o nosso código, que é mostrado na figura a seguir.
Depois de incluir nossos arquivos de cabeçalho, iostream, fStream e string, mergulhamos em nossa função principal, onde todo o nosso processo é feito. O FStream é o arquivo de cabeçalho usado para executar operações de entrada/saída associadas ao sistema de arquivos. Dentro da função principal, declaramos uma variável inteira, "std_id", que será responsável por manter o número do rolo do aluno que seria um valor inteiro. E então, declaramos 3 variáveis de string "nome" como o nome da variável reflete o valor que ela conterá é o nome do aluno. O segundo é o "Colégio" que manterá o nome do instituto, onde a terceira variável, "std_class", é responsável por manter a aula do aluno.
Depois de declarar todas as nossas variáveis, declaramos "Fout" usando o FStream, que é o tipo de dados que denota o fluxo de arquivos e nos permite executar as operações de leitura, gravação e atualização nos arquivos. Agora, usando a variável de fluxo de arquivos "FOUT", abriremos o arquivo chamado "std_details.Arquivo CSV ”usando a declaração aberta () para a qual passamos nosso nome de arquivo com a palavra -chave“ iOS :: Out ”que é usada para abrir o arquivo para fins de gravação. Como precisamos obter valores do usuário como entrada, solicitaremos ao usuário que insira os valores armazenados em um arquivo usando FOUT. Nós escrevemos pela primeira vez a primeira linha, que nos dirá o que é armazenado no arquivo CSV, e depois pedimos ao usuário usando uma declaração cout para inserir os valores. Agora, declaramos um loop de tamanho 3, o que significa que o usuário precisa inserir o registro de três alunos. Passo a passo, obteremos todos os valores do usuário para armazenar em uma linha, e cada valor é separado usando a vírgula delimitadora ",".
Para obter os valores do usuário, usamos a instrução getLine (), passando dois argumentos. O primeiro é "CIN", que diz ao compilador para aceitar o valor inserido pelo usuário como entrada e depois o armazenamento na variável que está sendo aprovada como o segundo argumento. Depois de limpar o buffer usando o CIN.declaração ignora (), simplesmente exibimos o registro entrado uma vez e depois o ponteiro saiu do loop. O loop receberá os valores e os imprimirá até que as iterações sejam concluídas.
Usando "Fout", exibimos os registros que o usuário inseriu e cada registro é separado usando uma vírgula ",". Sair do loop, fecharemos o arquivo usando o FOUT.Declaração Close ().
Agora prossiga em direção ao nosso próximo passo em que criamos outra variável FStream, "Fin", que usaremos para exibir os dados do arquivo que foi criado. Em seguida, declaramos uma variável de string que armazenará os dados analisados no arquivo CSV. Em seguida, usando a nova variável FStream "FIN", abriremos o arquivo "std_details.CSV ”usando uma declaração aberta para a qual desta vez passamos o nome do arquivo que está sendo criado e a palavra -chave“ iOS :: IN: ”responsável por abrir o arquivo como modo de leitura.
Em seguida, declaramos novamente o Loop para obter o registro do aluno do arquivo que será executado três vezes. Dentro do loop for, usamos a declaração getLine (), à qual dois argumentos são passados. O primeiro é o "Fin", e o segundo é "Data", o "Fin" estará lendo o registro um por um e depois o passará para a variável "dados". Usando a declaração "cout", exibimos os registros um por um e, no final, colocamos "\ n", que quebrará a linha à medida que a linha é concluída.
Vejamos o arquivo CSV criado, conforme mostrado no seguinte arquivo CSV que foi exibido automaticamente como saída quando todo o código foi compilado. Criamos um arquivo com os registros de três alunos. Cada registro é separado usando a vírgula e cada linha é dividida à medida que o registro é concluído.
Como mostrado na figura a seguir, é a saída do nosso código que exibe os dados um por um que entramos e, no final, foi exibido na forma de um arquivo CSV.
Conclusão
Este artigo discutiu brevemente a gravação em um arquivo CSV e como podemos criar um arquivo CSV em C++. O C ++ não fornece nenhuma biblioteca embutida para escrever em arquivos CSV, enquanto podemos escrever o mesmo que o arquivo de texto. Os arquivos são escritos em linha por linha e separados usando vírgulas. Os arquivos CSV também podem ser escritos via ponteiros. Você pode escrever em um arquivo CSV por qualquer método, seja como um arquivo de texto ou usando ponteiros. Esperamos que este artigo seja útil para você ter uma idéia melhor de como armazenar dados em forma de tabular.