Como evitar aspas duplas ao salvar o arquivo do Excel como Unicode?


9

Eu tenho um arquivo do Excel com conteúdo Unicode, no qual algumas células contêm texto entre aspas duplas, por exemplo "text".

Quando eu salvo o arquivo do Excel em um arquivo de texto no formato Unicode, o texto que contém aspas duplas é salvo como três aspas duplas, por exemplo """text""".

Existem alguns lugares onde eu até tenho texto que contém vírgula (,). Por exemplo, text,que é convertido "text,"no arquivo Unicode. É adicionar aspas duplas ao texto, que eu acho que contém caracteres especiais.

Como posso evitar isso?

Respostas:


7

Esse é um comportamento padrão (e semelhante à maneira como os arquivos CSV são salvos). Consulte o RFC 4180 - Formato comum e tipo MIME para arquivos de valores separados por vírgula (CSV) :

Se aspas duplas forem usadas para delimitar campos, uma aspas dupla aparecendo dentro de um campo deve ser escapada precedendo-a com outra aspas dupla.

Como isso se aplica ao seu caso?

  • Isso significa que "Text" deve ser salvo como """Text""", as aspas externas que delimitam o campo e as duas outras aspas são usadas para escapar das aspas reais usadas no campo de texto. Caso contrário, "Text"seria apenas analisado Texte você perderia suas cotações ao reabrir o arquivo.

  • O Excel também escolhe entre aspas Text,, porque a vírgula é usada como delimitador em arquivos separados por vírgula e não incluí-lo entre aspas significaria que text,é analisado como dois campos quando você reabrir o arquivo.

Se você não deseja que eles saiam, considere abrir os arquivos resultantes em um editor de texto e remover todas as aspas com uma simples pesquisa e substituição.


2
Você quer dizer que não há outra maneira de resolver o problema além de substituí-los no editor de texto.
karthik

Na verdade, não, pois o Excel precisa fazer isso por motivos de compatibilidade. Talvez seja possível criar uma macro que faça uma exportação personalizada, mas não sou especialista nisso.
slhck

Ok, obrigado, talvez eu tentarei substituí-lo no lado da codificação.
karthik

@slhck: Eu estou enfrentando problema ao salvar Unicode como CSV em 2010 superuser.com/q/1210099/234380
NJMR

3

Eu tive esse problema também. Então, notei que estava ignorando a opção Salvar como tipo: " Texto formatado (delimitado por espaço) ". Você também precisa especificar o. extensão txt ou o padrão será uma extensão .prn. Por exemplo, filename.txt em vez de apenas filename. Experimente . Isso funciona .


Será delimitado por espaço em vez de por tabulação, e as colunas parecem ter largura limitada a cerca de 8 caracteres por padrão.
JosiahYoder desativador exceto ..

Isso não funciona se as células contiverem algo parecido "A short sentence". A resposta de Pete abaixo é a única que funcionou para mim.
Micah Lindström

2

Salvar no Unicode parecia adicionar aspas, mesmo quando não havia aspas na minha string. Aqui está como eu consegui contornar isso:

  1. Encontre uma string que não esteja no seu arquivo (eu usei xxx).
  2. Antes de exportar, Localizar e substituir todas as aspas duplas "porxxx
  3. Exporte seu arquivo para txt ou csv.
  4. Abra arquivos txt e encontre e substitua todas as cotações sem nada
  5. Localizar e substituir tudo xxxcom aspas

Note, replacementnão use 'replacement'. Substituir as aspas duplas por algo que inclua uma aspas simples causa problemas se ocorrer no início de uma célula. Basicamente, o Excel vê uma citação simples no início de uma célula, o que significa interpretá-la como texto, sendo removida quando você exporta para txt / csv. Eu descobri isso da maneira mais difícil, lol.
Micah Lindström

0

Salve seu arquivo com facilidade como espaço delimited.prn no Excel e renomeie-o para .txt. Eu usei isso para uma crise de 18000 linhas. ;)

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.