Salvar no arquivo CSV sempre adiciona aspas no OpenOffice

4

Estou tentando usar o OpenOffice Calc para editar arquivos CSV com TAB como delimitador. Não importa o que eu faça, o Calc está insistindo em adicionar aspas (") às strings. Se o conteúdo da célula for apenas numérico, tudo bem.

Existe uma maneira de não deixar o Calc fazer isso? Quer dizer, o TAB é o suficiente para qualquer parser, certo?

    
por lang2 15.09.2011 / 12:18

2 respostas

1

Por que você precisa de aspas duplas?

I mean, the TAB is enough for any parser, right?

Não, tecnicamente não é! Como mencionado em minha resposta sobre o formato CSV do Excel , o Formato comum e tipo MIME para arquivos CSV (RFC 4180) especifica que:

… each field may or may not be enclosed in double quotes (however some programs, such as Microsoft Excel, do not use double quotes at all). If fields are not enclosed with double quotes, then double quotes may not appear inside the fields.

Até agora, tudo bem. Calc obviamente escolhe sempre colocar entre aspas duplas.

Fields containing line breaks (CRLF), double quotes, and commas should be enclosed in double-quotes

… então é aqui que as aspas duplas precisam ser para que o CSV seja analisado corretamente novamente.

Por que o Calc os adiciona?

O Calc provavelmente está fazendo isso como uma medida de segurança para todos os campos de texto. Pelo contrário, o que o Excel está fazendo é um tanto ambíguo.

Como você pode evitá-los?

Eu encontrei uma postagem no fórum que sugere o uso de uma macro para desabilitar delimitadores de texto:

Dim oDocCsv As Object       
Dim CsvProperties(2) As New com.sun.star.beans.PropertyValue 

.... 

CsvProperties(0).Name    = "FilterName" 
CsvProperties(0).Value   = "Text - txt - csv (StarCalc)" 
CsvProperties(1).Name    = "FilterOptions" 
CsvProperties(1).Value   = "124,0,ANSI,2" 

.... 

oDocCsv.storeAsURL("test.csv", CsvProperties()) 

A opção importante aqui é a linha com 124,0,ANSI,2 . De acordo com a referência das Opções de filtro , a segunda parte (ou seja, 0 ) desabilita delimitadores de texto na exportação.

    
por 15.09.2011 / 12:37
0

Abra o arquivo TSV (com aspas duplas) no notepad ++

  1. Substitua "" por "
  2. Substitua \t" por \t
  3. Substituir "\t por \t

notepad ++ substitui o diálogo

e você está feito ....

    
por 10.08.2017 / 08:07