2012-08-24 21:25:06 +0000 2012-08-24 21:25:06 +0000
21
21
Advertisement

Excel destruindo o carácter especial quando guardado como CSV

Advertisement

Estou a trabalhar num projecto que utiliza um ficheiro CSV fornecido pelo cliente para povoar uma base de dados. O cliente deve criar a folha de cálculo, depois guardá-la como CSV para ser carregada, que é depois analisada numa base de dados.

O problema é que, sempre que o cliente guarda a folha de cálculo Excel como um ficheiro MS-DOS .csv, muitos dos caracteres especiais são convertidos em pontos de interrogação “?” (símbolos tais como ‘ “ / ). No entanto, se depois abrirmos o ficheiro CSV e substituirmos manualmente cada ? pelo caracter correcto, este funciona bem.

O problema é que o ficheiro de dados é ENORME, e não podemos fazer isto razoavelmente, por isso esperava que houvesse uma forma de o salvar. Tentámos exportar como Unicode e ASCII em vão. Também tentámos fazer upload para o google docs, e salvar novamente, no entanto, também quebra esses caracteres.

Advertisement

Respostas (13)

12
12
12
2013-08-29 19:11:05 +0000

Certifique-se de que está a escolher guardar como CSV (Comma Delimited) e não como CSV (MS-DOS), pois o DOS não suporta caracteres UTF-8.

6
6
6
2012-10-30 00:40:31 +0000

Descobri que o problema dos caracteres perdidos só acontece (no meu caso) quando se salva do formato xlsx para o formato csv. Tentei salvar primeiro o ficheiro xlsx para xls, depois para csv. De facto, funcionou.

4
Advertisement
4
4
2013-09-04 20:46:55 +0000

Uma solução possível é guardá-lo como Unicode Text (2007 tem-no, não tenho a certeza sobre edições anteriores), o que o guarda como um ficheiro de texto separado por tabulação.

Este ficheiro preservou os meus caracteres unicode (no meu caso Estava a trabalhar com caracteres asiáticos ) enquanto produzia algum tipo de ficheiro de texto delimitado que pode então correr através de ferramentas externas para converter para um csv se necessário.

No entanto, a minha entrada não tinha separadores embutidos em cada célula, e não tenho a certeza de como isso seria tratado.

3
3
3
2013-12-19 21:37:59 +0000

Eis o que funciona para mim:

  1. fazer correcções de dados em Excel ou CSV
  2. Guardar ficheiro como Unicode Texto
  3. Abrir NOTAPAD
  4. Abrir o ficheiro Unicode que acabou de guardar usando o NOTEPAD
  5. Use o seu cursor para destacar uma área em branco que contenha um único separador 5a. Use o espaço entre o Acquire Id e o Tipo de Pedido, porque isto contém UMA TAB!
  6. Prima Cnrl-C para copiar o carácter de separador
  7. Digite Cnlr-H para abrir a caixa de função Substituir
  8. Clique na caixa de texto Find What text box e digite Cnlr-V para colar o separador
  9. Clicar na caixa Substituir por texto e digitar uma vírgula
  10. Clicar em Substituir para o testar uma vez. Confirmar que o separador no ficheiro é substituído por uma vírgula
  11. Clicar Substituir Todos
  12. Clicar Cancelar
  13. Guardar o ficheiro e Sair
  14. No Explorador do Windows alterar a extensão do ficheiro para .csv
3
Advertisement
3
3
2016-01-14 15:29:13 +0000

Já há algum tempo que tenho esta questão, e finalmente dediquei algum tempo a resolvê-la! Consegui (aparentemente) resolver o problema salvando como “Windows Comma Separated (.csv)”. Experimentei a partir de um .xlsx e de um .xls, ambos convertidos para um .csv muito bem. Espero que isto ajude - avisem-me se surgir algum problema com este método. Informar-me-ei se vir alguma coisa durante as próximas semanas.

1
1
1
2016-05-06 09:03:48 +0000
  1. Descarregar e instalar o Unicode CSV Addin para excel de https://github.com/jaimonmathew/Unicode-CSV-Addin
  2. Guardar o csv a partir do novo menu “Unicode CSV” como mostrado na imagem abaixo.

1
Advertisement
1
1
2016-08-02 10:18:07 +0000

Solução:

  1. Abra o seu ficheiro CSV no Bloco de Notas (notará que diz ANSI), depois volte a guardá-lo como UTF-8 no Bloco de Notas.

  2. Depois a importação deve funcionar. No entanto, se o abrir novamente em Excel e apenas o guardar, não funcionará porque o Excel não pode codificar nativamente em UTF-8 aparentemente.

  3. A outra opção é trabalhar com o seu ficheiro CSV em www.LibreOffice.org (gratuito), que pode codificar correctamente em UTF-8 (eu próprio ainda não experimentei isto).

deparei-me com um problema semelhante com a importação de um csv de produtos com fracções para o WooCommerce, que estava a ser rejeitado por causa de caracteres de erro “? Isto porque o ficheiro CSV não estava codificado em UTF-8. ENTÃO, mesmo depois de salvar o ficheiro CSV em Excel com codificação UTF-8 ainda não funcionava.

Depois de riscar através de múltiplos fóruns, parece que embora o Excel dê a opção de codificar como UTF-8 - quando SAVING AS A CSV, o Excel converte-o automaticamente de volta para ANSI, mesmo que se seleccione UTF-8.

0
0
0
2018-02-01 13:48:54 +0000

para o ™ encontrei uma solução. No ficheiro .xlsx, substituir todo o “™” por “&tr-ade;”. remover o - do substituto por. Guarde o ficheiro como .csv e tudo está feito. desejamos que funcione para si.

0
Advertisement
0
0
2018-03-07 16:11:22 +0000

Num computador Mac, foi isto que funcionou para mim.

Em excel escolher save como e depois a partir do drop-down escolher janelas separadas por vírgula (CSV).

Simplesmente funciona!!!

0
0
0
2020-01-10 13:45:18 +0000

Salvar como CSV (Comma Delimited) como Techie007 acima mencionado irá captar adequadamente a maioria das personagens internacionais; no entanto, ainda tinha alguns problemas para incluir Ł, ć, e ń (pode haver outros).

Fiquei um pouco surpreendido ao ver que a função EXCEL VBA ASC retorna o código ascii associado a L, c, e n respectivamente para estes caracteres internacionais. A minha abordagem um pouco insatisfatória foi escrever uma macro curta para converter todos os caracteres antes de salvar para um .csv. [Nota: ASC para uma grande maioria de caracteres internacionais comuns, tais como é ou á funcionará muito bem].

0
Advertisement
0
0
2015-07-21 13:41:23 +0000

Mesmo eu enfrentei o problema com caracteres especiais ao descarregar os termos japoneses em formato .csv. Contudo, quando salvei o ficheiro .csv em formato Texto (Tab delimitado), os caracteres japoneses estavam perfeitamente povoados. Depois apenas copiei dados do ficheiro de texto e colei-os numa folha de cálculo. Funcionou bem!!!

Obrigado, Vaishakh

0
0
0
2014-06-25 11:47:47 +0000

Encontrou a melhor solução de sempre: * http://woshka.com/blog/microsoft/microsoft-excel/solve-the-problem-saving-excel-csv-format-with-utf-8-unicode-encoding.html **

A partir do link:

1-Clique no menu inicial & > 2-Clique no painel de controlo & > 3-Clique nas opções Regional e Language no modo clássico ou escreva o seu nome na barra de pesquisa no canto superior direito da janela do painel de controlo

4-Clique no separador avançado e clique em locales & > 5-Clique em Persa ou Árabe ou no seu programa de codificação UTF-08 desejado que gostaria de guardar com o Excel em CSV

0
Advertisement
0
0
2018-05-30 14:20:21 +0000

Guardar como unicode Renomear ficheiro unicode como .csv https://www.youtube.com/watch?v=1VP8__shxTg )

Advertisement