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.