Ir ao conteúdo

Posts recomendados

Postado

Fala galera, tudo certo?

 

Preciso ler uma série de números de um arquivo .CSV, como na imagem abaixo, e armazenar esses números em um vetor de inteiros.

Podem me ajudar? Encontrei vários tópicos trabalhando com arquivos em .txt, mas não o que eu preciso.

 

Valeu!

 

image.png.4a06ee12f83abbf2018c1c55703a6dd4.png------------> vetor[10] = [1][2][3][4][5][6][7][8][9][10]

  • Amei 1
Postado
  Em 17/11/2019 às 22:29, VitorToresin disse:

Encontrei vários tópicos trabalhando com arquivos em .txt, mas não o que eu preciso.

Expandir  

São dados em bytes separados por vírgula ou ponto-vírgula (campo) e cada linha é uma informação (registro).

 

Encontrará quem diga que a única diferença é a extensão.

  • Curtir 2
Postado

Olá!

 

Seu exemplo é curioso.

 

Talvez não tenha entendido ao certo o que é um arquivo CSV.

 

Esse é um formato clássico para exportação de dados e é muito muito comum a gente precisar disso na prática.

CSV quer dizer "Valores separados por vírgula" e em muitos casos, como no Microsoft Excel, você pode trocar a vírgula por outra coisa, como um TAB ou um hífen ou o que for conveniente na sua lógica na hora de importar. E não são apenas planilhas que usam isso, claro. Esse formato precede as planilhas em décadas. Bancos de dados e programas de escritório oferecem CSV como um formato comum de exportação de arquivos em modo texto. 

 

E os programas de planilha podem importar dados gravados em CSV e assim usuários sem experiência em programação podem usar esses arquivos para transportar dados entre programas.

 

Em geral na primeira linha vão os títulos dos campos. Mas as vírgulas separam AS COLUNAS e não as linhas. Como seu exemplo só tem uma coluna, é um arquivo CSV sem vírgulas: apenas um arquivo no formato texto com um valor por linha. Não é exatamente um arquivo CSV, embora formalmente o seja.

 

Como importar o seu exemplo

 

Trata-se de um arquivo texto comum com um registro por linha, então um loop até final de arquivo, lendo e gravando no vetor

 

Como importar um CSV com V

 

p2x4.png.68fd0662fb59b67052f9583b0e016d60.png

 

Se sua planilha fosse essa o arquivo de saída seria algo assim:

1,2,3,4
5,6,7,8

 

Como importar esse exemplo

scanf() foi criada com esse propósito e resolve bem, mas pode usar um loop lendo a linha toda como string e separando os campos pelo delimitador, a vírgula, e colocando os elementos no vetor no loop. Note que CSV é para importar dados linha a linha, possivelmente tabela com muitas linhas...

 

Um exemplo mais comum

 

ex-extrato.png.8577a6e16a007dcfa6e4fd8aee7296e1.png

 

Aqui tem algo bem comum e mostra porque isso foi criado. Essa planilha é uma simplista nota fiscal, alguns itens e um total só para você entender a mecânica. Note que a primeira linha tem os nomes dos campos. Se você tem um banco de dados e quer importar os valores, já sabe onde arrumar os nomes para as colunas da tabela no banco...

 

Veja o CSV

quantidade,descricao,valor ,total
1,parte1,$123.23,$123.23
2,parafuso,$100.00,$100.00
8,coisa,$128.12,$128.12
2,outro,$12.00,$12.00
total geral,,,$363.35

Como importar isso?

 

Igualzinho, claro. Apenas no seu programa você trata a primeira linha diferentemente, sabendo que ela tem o nome dos campos, e note que quando um campo não está presente aparecem delimitadores em sequência

 

Escreva algum código e poste alguma dúvida.

 

Espero ter ajudado

 

  • Curtir 2
Postado
  Citação

Um arquivo de Valores Separados por Vírgula (CSV) é um arquivo de texto sem formatação que contém uma lista de dados.

Expandir  

Então...

 

CSV diz repeito a estruturação dos dados, a maneira com se dispõe interiormente as informações. Note que se o programa tem as rotinas capazes de identificar todas as disposições combinadas não importa se é de extensão .txt ou .csv que ele vai ler.

 

Por exemplo: hipoteticamente  seu arquivo tem a seguinte estrutura.

1,2,3,4,5,

Defini-se que o arquivo é de apenas 1 COLUNA , de dados separados por vírgula e pronto!

Mesmo se .txt ou .csv qualquer programa com as rotinas certas enxerga: 1x CAMPO, 5x REGISTROS.

 

Obrigado.

  • Curtir 1
Postado

 

@Mauro Britivaldo em relação a essas coisas, recomendo ler o que postei um pouco antes.

 

Sim, CSV é um formato bem definido para troca de dados, importação ou exportação de dados. E você definiu bem quando escreveu "CSV diz repeito a estruturação dos dados, a maneira com se dispõe interiormente as informações"

 

No entanto, um arquivo CSV é organizado de modo a ter um registro por linha, e os registros tem campos, e não o contrário, como você escreveu. Essa designação é coerente com a troca de dados: por exemplo um banco de dados ou planilha onde cada linha é um REGISTRO e cada coluna um CAMPO na nomenclatura usual.

Essa linha que mostrou

1,2,3,4,5,

tem SEIS campos e não cinco, e um único registro: trata-se de um registro por linha e só tem uma linha. A vírgula ao final indica que o sexto campo está em branco. Veja um exemplo que vou deixar a seguir.

 

  Em 18/11/2019 às 17:27, Mauro Britivaldo disse:

Porque definiu-se que o arquivo é de apenas Uma Coluna.

Expandir  

 

Claro que podemos redefinir qualquer coisa, mas estamos falando de uma nomenclatura consagrada há décadas. Exportar uma planilha como a do autor do tópico, com 10 linhas de uma coluna, vai levar ao arquivo CSV que foi postado lá, sem vírgulas, e que você pode reproduzir aí com qualquer programa de planilha por exemplo. O formato conhecido como CSV é esse onde os registros são exportados linha a linha com um delimitador que geralmente é a vírgula, separando os campos.

 

  Em 18/11/2019 às 17:27, Mauro Britivaldo disse:

Um arquivo de Valores Separados por Vírgula (CSV) é um arquivo de texto sem formatação que contém uma lista de dados

Expandir  

 

"sem formatação" pode indicar apenas o fato de ele conter apenas texto, mas um arquivo CSV é um arquivo contendo texto cuidadosamente formatado, com cada campo sendo separado por um delimitador, campos em branco deixados sem espaço entre os delimitadores, e um único '\n' ao final de cada registro. E todos os registros tem exatamente o mesmo número de campos. Veja o exemplo abaixo

 

Outro exemplo CSV

1,2,3,4
,6,7,
9,10,11,12

 

Correspondente a essa planilha

 

ex-3x4-10.png.348baa002019df0b97c9ee80db51d56f.png

 

Note que todas as linhas --- registros --- tem 4 campos.

 

Ilustrando mais a aplicação da nomenclatura, veja esse comando de um banco de dados --- MySQL, hoje MariaDB

 

Criando um CSV a partir de um banco de dados

SELECT customer_id, firstname, surname 
  INTO OUTFILE '/exportdata/customers.txt' 
  FIELDS TERMINATED BY ',' 
  OPTIONALLY ENCLOSED BY '"' 
  LINES TERMINATED BY '\n' 
  FROM customers;

Note que esse comando vai

  • pegar a tabela customers --- clientes ---  que tem registros --- records --- que contem campos --- fields --- e vai gerar um arquivo no formato CSV chamado customers.txt
  • são 3 campos por linha: id, firstname e surname
  • delimitador é vírgula
  • separador de linhas é '\n'

vai colocar também aspas em volta de todos os valores

 

exatamente o que faz o Google Sheets nos exemplos que mostrei. O Microsoft Excel tem um assistente --- wizard -- para tratar essas coisas. Se eu tiver tempo depois posso mostrar uma parte. Muito sofisticado e configurável.

 

  • Curtir 1
  • Haha 1
Postado

 

  Em 17/11/2019 às 22:29, VitorToresin disse:

Podem me ajudar? Encontrei vários tópicos trabalhando com arquivos em .txt, mas não o que eu preciso.

Expandir  

 

Claro que a extensão não importa, o importante é ter vírgula e um programa que saiba identificar os dados listados (pois é tudo texto).

 

 

  Em 18/11/2019 às 18:44, arfneto disse:

No entanto, um arquivo CSV é organizado de modo a ter um registro por linha, e os registros tem campos, e não o contrário, como você escreveu.

Expandir  

Os dados são separados por vírgula não faz sentido linha: Salvo apenas o caso de leitura do humano; já a máquina, não consigo imaginar benefício maior com seu entendimento, possivelmente porque não há.

 

 
  Em 18/11/2019 às 18:44, arfneto disse:

"sem formatação" pode indicar apenas o fato de ele conter apenas texto, mas um arquivo CSV é um arquivo contendo texto cuidadosamente formatado,

Expandir  

É sem formatação ;) porém não obrigatoriamente, a formatação que o senhor "erradamente" insiste para o arquivo e de responsabilidade das rotinas internas e implementações dos programas, ou seja; a rotina precisa disso por qualquer razão, mas não é uma norma. E fica claro que a única coisa que se pode chamar de "norma" é a vírgula entre dados.

 

Obrigado.

  • Curtir 1
Postado
  Em 18/11/2019 às 18:47, Mauro Britivaldo disse:

Os dados são separados por vírgula não faz sentido linha: Salvo apenas o caso de leitura do humano; já a máquina, não consigo imaginar benefício maior com seu entendimento, possivelmente porque não há

Expandir  

 

@Mauro Britivaldo Exercite sua imaginação, ou leia mais, porque eu por exemplo expliquei e dei exemplos logo acima. E vou dar mais referências abaixo. O que eu escrevi não é minha opinião. Não deve ter tido tempo de ler o que eu escrevi ou talvez apenas ache que não vale a pena

 

Os registros são separados por linha, esse é o sentido. Leu o que expliquei sobre extrair valores de uma tabela do banco de dados? Se você extrai as vendas no final do dia nesse formato, vai ter uma linha para cada venda e os dados da venda serão os campos em cada linha. Não entendeu isso?

 

Arquivos CSV no IETF

 

Sim, existe um RFC -- daqueles documentos que descrevem todos os padrões na internet --- esclarecendo aspectos sobre o formato CSV. E existe um MIME Type text/csv , e isso significa que todos os navegadores e programas de e-mail tem que saber tratar arquivos e anexos nesse formato. RFC4180 é um documento informativo, e diz que CSV é um formato muito antigo e tradicional e que nunca foi de fato padronizado por um comitê como em geral é o caso.

 

Arquivos CSV na Biblioteca do Congresso

 

Sim o maior repositório de documentos do mundo tem um artigo sobre isso e algumas referências. Aqui

 

Um validador online para seus arquios CSV

 

Sim, você pode acessar esse site e mandar um CSV que seu programa gerou e ele será validado online. Aqui você pode validar seu arquivo CSV, de graça

 

  Em 18/11/2019 às 18:47, Mauro Britivaldo disse:

Nossa! Esses programas usam uma implementação que aparentemente está tentado (desdo começo) impor como norma, ou seja a implementação. Já estou acostumado com isso só desde 2014 e ainda acho graça

Expandir  

 

Incrível não? E se usa isso desde os anos 70. Como já está embutido em programas que existem mesmo antes de você poder se acostumar, há que se seguir alguma norma. O Chrome lê CSV, como mostrei. O Excel e o Google Sheets leêm e gravam CSV, o MySQL, o PostGRES, o SQL Server.... E como um programa desses pode e precisa poder ler arquivos gerados talvez pelo outro programa deve imaginar que, mesmo que você "ache graça e não esteja acostumado" seja preciso seguir alguma norma e ela exista.

 

  Em 18/11/2019 às 18:47, Mauro Britivaldo disse:

a rotina precisa disso por qualquer razão, mas não é uma norma. 

Expandir  

 

A razão é intercâmbio de dados.  E é uma norma. Do outro lado disse que você chama de "rotina" tem um aplicativo que vai consumir esses dados. Ou não daria pra exportar resultados do banco de dados para ler em planilhas como é rotina em muitas situações. Ou vice-versa, pegar os resultados de uma planilha e importar no banco de dados. E os programas de mala direta? Talvez você ainda não tenha se acostumado com o fato de que todos eles leem arquivos no formato CSV

 

  Em 18/11/2019 às 18:47, Mauro Britivaldo disse:

E fica claro que a única coisa que se pode chamar de "norma" é a vírgula entre dados

Expandir  

 

E como ficou claro isso se eu te mostrei um exemplo de um comando SQL onde o delimitador é um parâmetro e eu já havia explicado que em programas como o Excel o delimitador é parametrizável?

SELECT customer_id, firstname, surname
  INTO OUTFILE '/exportdata/customers.txt' 
  FIELDS TERMINATED BY ',' 
  OPTIONALLY ENCLOSED BY '"' 
  LINES TERMINATED BY '\n' 
  FROM customers;

Se você trocar ',' por '-' no comando acima acha que vai acontecer o que?

 

Está escrevendo seriamente essas coisas? Baseado em coisas com as quais vem se acostumando desde 2014? 

  • Curtir 2
Postado
int main(void){
 int intarray[10];
 int i;
 
 FILE *fPointer;
 fPointer = fopen("filename.csv","r");
 
 	for(i=0;i<10;i++){
 		fscanf(fPointer,"%d",&intarray[i]);
    }
  
  fclose(fPointer);
  
 return 0;
}

Obrigado pela ajuda pessoal! 

 

Segue a solução que eu utilizei depois das dicas!

 Caso tenham alguma sugestão para melhorar ou simplificar ainda mais, sempre bem vinda!

 

Minha principal dificuldade estava em definir a condição do loop, mas depois de todas as explicações sobre o arquivo .csv e .txt, me parece que cada vez que o programa roda a função fscanf() ele automaticamente "lê" da esquerda para direita, linha por linha, assim que utilizei um contador comum, com uma quantidade de loops igual ao numero de informações contidas na planilha.

  • Curtir 1
  • Obrigado 1
Postado
  Em 18/11/2019 às 22:25, VitorToresin disse:

Minha principal dificuldade estava em definir a condição do loop, mas depois de todas as explicações sobre o arquivo .csv e .txt, me parece que cada vez que o programa roda a função fscanf() ele automaticamente "lê" da esquerda para direita, linha por linha, assim que utilizei um contador comum, com uma quantidade de loops igual ao numero de informações contidas na planilha

Expandir  

 

É assim, mas entenda que seu arquivo CSV é muito peculiar, na medida em que ele sequer tem o C. 

CSV separa S os valores V dos campos de cada registro por algo que em geral é uma vírgula, o C

 

Leu os exemplos que mostrei?

 

Se por acaso em sua planilha apagar o conteúdo de A3 e a4 exemplo, o csv criado vai ser diferente e seu programa não vai rodar...

 

Entendeu que esse formato é para separar os campos na linha e não as linhas?

  • Curtir 1
Postado
  Em 18/11/2019 às 21:09, arfneto disse:

Exercite sua imaginação, ou leia mais, porque eu por exemplo expliquei e dei exemplos logo acima. E vou dar mais referências abaixo. O que eu escrevi não é minha opinião. Não deve ter tido tempo de ler o que eu escrevi ou talvez apenas ache que não vale a pena

Expandir  

Sim!

  • Curtir 1
Postado
  Em 18/11/2019 às 21:09, arfneto disse:

Os registros são separados por linha, esse é o sentido. Leu o que expliquei sobre extrair valores de uma tabela do banco de dados? Se você extrai as vendas no final do dia nesse formato, vai ter uma linha para cada venda e os dados da venda serão os campos em cada linha. Não entendeu isso?

Expandir  

Esse é um formato. No caso as rotinas enxergam registros separadas por nova linha. Não há uma norma que diga que não fazer isso descaracteriza a entidade que no caso é o arquivo.

 

  Em 18/11/2019 às 21:09, arfneto disse:

Arquivos CSV no IETF

 

Sim, existe um RFC -- daqueles documentos que descrevem todos os padrões na internet --- esclarecendo aspectos sobre o formato CSV. E existe um MIME Type text/csv , e isso significa que todos os navegadores e programas de e-mail tem que saber tratar arquivos e anexos nesse formato. RFC4180 é um documento informativo, e diz que CSV é um formato muito antigo e tradicional e que nunca foi de fato padronizado por um comitê como em geral é o caso.

Expandir  

Exatamente, quando é comunicação pela internet existe um padrão é isso? Uma espécie de protocolo que é menos que um tratado determinado por um senso comum de comunicação.

 

  Em 18/11/2019 às 21:09, arfneto disse:

Incrível não? E se usa isso desde os anos 70. Como já está embutido em programas que existem mesmo antes de você poder se acostumar, há que se seguir alguma norma. O Chrome lê CSV, como mostrei. O Excel e o Google Sheets leêm e gravam CSV, o MySQL, o PostGRES, o SQL Server.... E como um programa desses pode e precisa poder ler arquivos gerados talvez pelo outro programa deve imaginar que, mesmo que você "ache graça e não esteja acostumado" seja preciso seguir alguma norma e ela exista.

Expandir  

Quando tem a intenção de comunicar a eles. Faz sentido e não é norma. Senso comum de um arquivo csv não é o arquivo csv.

 

  Em 18/11/2019 às 21:09, arfneto disse:

A razão é intercâmbio de dados.  E é uma norma. Do outro lado disse que você chama de "rotina" tem um aplicativo que vai consumir esses dados. Ou não daria pra exportar resultados do banco de dados para ler em planilhas como é rotina em muitas situações. Ou vice-versa, pegar os resultados de uma planilha e importar no banco de dados. E os programas de mala direta? Talvez você ainda não tenha se acostumado com o fato de que todos eles leem arquivos no formato CSV

Expandir  

Não é norma porque o fato é que não existe.

Obrigado.

 

 

  Em 18/11/2019 às 22:25, VitorToresin disse:
int main(void){
 int intarray[10];
 int i;
 
 FILE *fPointer;
 fPointer = fopen("filename.csv","r");
 
 	for(i=0;i<10;i++){
 		fscanf(fPointer,"%d",&intarray[i]);
    }
  
  fclose(fPointer);
  
 return 0;
}

Obrigado pela ajuda pessoal! 

 

Segue a solução que eu utilizei depois das dicas!

 Caso tenham alguma sugestão para melhorar ou simplificar ainda mais, sempre bem vinda!

 

Minha principal dificuldade estava em definir a condição do loop, mas depois de todas as explicações sobre o arquivo .csv e .txt, me parece que cada vez que o programa roda a função fscanf() ele automaticamente "lê" da esquerda para direita, linha por linha, assim que utilizei um contador comum, com uma quantidade de loops igual ao numero de informações contidas na planilha.

Expandir  

Você pode colocar uma condição para descobrir o fim do arquivo; o senso comum dita a regra da vírgula para separador (convenhamos isso não pode falta) porque é o que tem na extensão.

 

Se seu arquivo texto tem esta organização com delimitador (,).

1
2
3
4
5
 

não precisa mesmo de vírgulas 😆 independente da extensão por razões obvias, pois nova linha fez mais que sua obrigação (com os registros e delimitando campos)!

Obrigado.

  • Curtir 1
Postado
  Em 19/11/2019 às 09:46, Mauro Britivaldo disse:

não precisa mesmo de vírgulas 😆 independente da extensão por razões obvias, pois nova linha fez mais que sua obrigação (com os registros e delimitando campos)!

Expandir  

 

Volto a explicar: as vírgulas não são uma necessidade e sim uma consequência. A razão óbvia é que só tem um campo por linha então não tem o que delimitar.  Coloque um valor em B2 na planilha por exemplo e gere novo csv e veja o que acontece.

 

Nova linha delimita registros e não campos. Vírgulas delimitam campos na linha. Se tiver mais de um. :D 

 

@VitorToresin

 

Entenda que seu arquivo exemplo CSV é um arquivo no formato CSV por eliminição. Acho que eu já expliquei e dei exemplos e suficientes referências, mas entenda que esse é um formato de intercâmbio de dados, onde tem um registro por linha e os campos são separados por vírgula. 

Seu arquivo exemplo só tem um valor, então não há o que separar por vírgula e ninguém pode vir falando que seu arquivo não é um arquivo no formato CSV. O V é de Values, mas você não tem culpa de só ter um valor por linha.Mas veja seu programa exemplo e o que vai acontecer se alguém apagar o valor em A4

Seu arquivo vai ficar assim 

1
2
3

5
6
7
8
9
10

E do jeito que seu programa lê vai desalinhar tudo e não vai conseguir ler os campos todos porque não percebeu que o campo em A4 está em branco. Mesmo tendo uma coluna só não está certo. A linha em branco indica que um registro, o quarto, não tem um campo, o unico, presente. E seu programa não viu. 

 

Agora veja o que acontece se alguém digita algo em B2 na planilha e gera novo CSV pra você ler

 

1958969127_duascolunas.png.5a4761c1e1e45371654dda93e29e3e76.png

 

E gera novo CSV para você ler

1,2
2,
3,
,
5,
6,
7,
8,
9,
10,

Agora os valores são sim separados por vírgula, e seu programa já era. Um arquivo CSV é sempre quadradinho: tem uma linha para cada registro exportado e tem um campo para cada campo na entrada. Agora temos 2 colunas e 10 linhs então o CSV será assim, mesmo que seja chato.

  • A primeira linha tem 1,2 mostrando os dois campos
  • Como a linha 4 está em branco, aparece uma vírgula solitária, para seu programa saber que tem um campo antes e outro depois da vírgula
  • Todas as outras linhas terminam em vírgula porque o campo da coluna dois está em branco em todos os registros exceto o primeiro

Pense nisso.

 

Caso de uso 1
Os programas de mala direta usam sempre esse formato para o arquivo de etiquetas para imprimir os envelopes e o formato é assim óbvio, e muito anterior a internet por exemplo. Eis uma planilha para imprimir aquelas etiquetas adesivas

 

etiquetas.png.099573b92ddf0dfa77c01cf0d4a7f3ee.png

 

Aí gera o CSV

destinatario,rua,cidade,estado,CEP
Microsoft Redmond Town Center 5,7240 166th Ave NE,Redmond,WA,98052
Microsoft Redmond Town Center 5,7240 166th Ave NE,Redmond,WA,98052
Microsoft Redmond Town Center 5,7240 166th Ave NE,Redmond,WA,98052
Microsoft Redmond Town Center 5,7240 166th Ave NE,Redmond,WA,98052
Microsoft Redmond Town Center 5,7240 166th Ave NE,Redmond,WA,98052
Microsoft Redmond Town Center 5,7240 166th Ave NE,Redmond,WA,98052
Microsoft Redmond Town Center 5,7240 166th Ave NE,Redmond,WA,98052
Microsoft Redmond Town Center 5,7240 166th Ave NE,Redmond,WA,98052 

E aquele programa da PIMACO que você comprou começa a imprimir as etiquetas pra colar nos envelopes. :D 

 

Caso de uso 2

 

Copiar endereços de contatos do Outlook para o gmail


Você seleciona os contatos no Microsoft Outlook, exporta para um arquivo csv e grava. Abre o gmail e seleciona a opção de importar contatos, escolhe o csv que gravou e tecla ENTER.

 

Não vou explicar o processo. Tem muitos exemplos online por exemplo em 
Do Outlook para CSV
Do CSV para o gmail
Como criar um CSV

 

@Mauro Britivaldo

Mauro, em relação às suas considerações sobre csv. eu apresentei exemplos, o link para os documentos e até o RFC4180 que descreve o formato e é sempre autoritativo. Não foi publicado um STD e tal, porque esse formato antecede a internet e o IETF e o W3C. No entanto, como o formato MIME text/csv é oficial desde os anos 80 essa informação é oficial. Tudo que trafega na internet é padronizado e essas são as organizações que cuidam disso.

 

Veja em cada ágina os links para os documentos

w3c.thumb.png.bbe751a422a64e5b6c25a83c7b38c501.png

 

E o IETF

ietf.thumb.png.f413a19370653d69e98ea0bfababc3e9.png

 

Respeito sua ideia que tudo é questão de implementação e a norma de fato não existe. Mas é uma curiosa opinião: o que seria de todos os exemplos que te mostrei? Isso está embutido até no SQL, a linguagem de consulta de bancos de dados. Está no Office. Está em toda parte. Se você quer trocar dados via csv, imagine que há um padrão. 

 

"Não é norma porque de fato não existe"


Se ainda não entendeu, não sei o que falta e não sou eu que vou te dizer. Afinal você não parece ter nenhuma dúvida a respeito, a julgar pelo "de fato não existe". Parece nosso mitológico presidente falando.

 

Nos anos 80 eu usava arquivos csv para gravar dados de programas numéricos, em equipamentos que eram chamados na época mini-computadores rodando AT&T Unix SVR IV,  e levar para importar em outros computadores da época, que eram chamados mainframes, rodando VM/CMS, para importar para outros programas de cálculo. 
Nunca precisei consultar Bell Labs para o padrão no UNIX, nem consultar a IBM sobre como gravar. Usava o tal formato CSV  um registro por linha e a matriz chegava do outro lado.

  • Curtir 3
  • 4 semanas depois...
Postado
  Em 19/11/2019 às 20:11, arfneto disse:

Volto a explicar: as vírgulas não são uma necessidade e sim uma consequência. A razão óbvia é que só tem um campo por linha então não tem o que delimitar.  Coloque um valor em B2 na planilha por exemplo e gere novo csv e veja o que acontece.

Expandir  

Não há necessidade!

  • Curtir 1
Postado
  Em 12/12/2019 às 15:49, InicianteOtaku disse:

@Mauro Britivaldo Na verdade precisa abrir o csv dele e ver se é com ; pois ja vi csv delimitado com ,

Expandir  

Sim! Os delimitadores variam bem menos que a formatação (; e , são mais comuns).

 

O Microsoft Excel requer, por exemplo, sua especificação enquanto que determinador de linha é uma nova linha mesmo (senso comum).

 

Se o objetivo é internet teremos que consultar os protocolos da Network.

 

Caso não queira nenhum protocolo implemente sua própria linha de comunicação busque aspiração em outras.

 

Por exemplo:

#1 Como Microsoft Excel 2010 entende

sep=,
Inf0,Info2,Info3
Inf0,Info2,Info3

 

#2 Nesse altero apenas o delimitador de nova linha (para lógica).

sep=,
reg=3
Inf0,Info2,Info3,Inf0,Info2,Info3,Inf0,Info2,Info3

Com isso vai economizar num 1 caractere (se fosse esse o objetivo).

Obrigado.

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Mostrar mais  

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

Mostrar mais  
×
×
  • Criar novo...

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!