Eu tenho um arquivo do Excel que possui alguns caracteres em espanhol (til etc.) que preciso converter em um arquivo CSV para usar como arquivo de importação. No entanto, quando eu Salvar como CSV, ele manipula os caracteres espanhóis "especiais" que não são caracteres ASCII. Também parece fazer isso com as aspas esquerda e direita e traços longos que parecem vir do usuário original que criou o arquivo do Excel no Mac.
Como CSV é apenas um arquivo de texto, tenho certeza de que ele pode manipular uma codificação UTF8, portanto, acho que é uma limitação do Excel, mas estou procurando uma maneira de ir do Excel para o CSV e manter os caracteres não ASCII intacto.
Respostas:
Uma solução simples é usar o Google Spreadsheet. Cole (valores apenas se você tiver fórmulas complexas) ou importe a planilha e faça o download do CSV. Eu apenas tentei alguns caracteres e funciona muito bem.
NOTA: O Planilhas Google tem limitações ao importar. Veja aqui .
NOTA: Tenha cuidado com dados confidenciais com o Planilhas Google.
Edição: Outra alternativa - basicamente eles usam macro VB ou suplementos para forçar a salvar como UTF8. Eu não tentei nenhuma dessas soluções, mas elas parecem razoáveis.
fonte
Eu descobri que o aplicativo de planilha do OpenOffice , Calc, é realmente bom em lidar com dados CSV.
Na caixa de diálogo "Salvar como ...", clique em "Opções de formato" para obter diferentes codificações para CSV. O LibreOffice funciona da mesma maneira que o AFAIK.
fonte
Salve a planilha do Excel como "Texto Unicode (.txt)". A boa notícia é que todos os caracteres internacionais estão em UTF16 (observe, não em UTF8). No entanto, o novo arquivo "* .txt" é delimitado por TAB, não por vírgula e, portanto, não é um verdadeiro CSV.
(opcional) A menos que você possa usar um arquivo delimitado por TAB para importação, use seu editor de texto favorito e substitua os caracteres TAB por vírgulas ",".
Importe seu arquivo * .txt no aplicativo de destino. Verifique se ele aceita o formato UTF16.
Se o UTF-16 tiver sido implementado corretamente com suporte para pontos de código não-BMP, você poderá converter um arquivo UTF-16 em UTF-8 sem perder informações. Deixo para você encontrar o seu método favorito de fazê-lo.
Eu uso este procedimento para importar dados do Excel para o Moodle.
fonte
;
, em seguida, importei o arquivo txt para o phpmyadmin com o padrão "Conjunto de caracteres do arquivo: utf-8", Format "CSV usando LOAD DATA ". Toda a codificação foi transferida corretamente.Sei que essa é uma pergunta antiga, mas me deparei com essa questão enquanto lutava com os mesmos problemas do OP.
Não tendo encontrado nenhuma das soluções oferecidas como uma opção viável, propus-me a descobrir se existe uma maneira de fazer isso usando o Excel.
Felizmente, descobri que o problema de caracteres perdidos só acontece (no meu caso) ao salvar do formato xlsx para o formato csv. Tentei salvar o arquivo xlsx no xls primeiro e depois no csv. Na verdade, funcionou.
Experimente e veja se funciona para você. Boa sorte.
fonte
Windows comma separated (CSV)
. Não funciona se eu usar as opções padrão ou DOS CSV - ambas substituem os caracteres acentuados por caracteres indesejados aleatórios. Testado para caracteres, incluindoé
,è
,â
... Não sei se é real UTF8 mas os personagens não são mutilado.Você pode usar o comando iconv no Unix (também disponível no Windows como libiconv ).
Depois de salvar como CSV no Excel na linha de comando, coloque:
(lembre-se de substituir o cp1250 pela sua codificação).
Funciona rápido e excelente para arquivos grandes, como o banco de dados de códigos postais, que não podem ser importados para o GoogleDocs (limite de 400.000 células).
fonte
sed
outr
para traduzir de '\ t' para ','Você pode fazer isso em uma máquina Windows moderna sem software de terceiros. Esse método é confiável e manipula dados que incluem vírgulas entre aspas, caracteres de tabulação entre aspas, caracteres CJK etc.
1. Salve do Excel
No Excel, salve os dados para
file.txt
usar o tipoUnicode Text (*.txt)
.2. Inicie o PowerShell
Execute
powershell
no menu Iniciar.3. Carregue o arquivo no PowerShell
4. Salve os dados como CSV
fonte
CHARACTER SET utf8mb4
como descrito aqui: stackoverflow.com/a/10959780/470749A única "maneira fácil" de fazer isso é a seguinte. Primeiro, saiba que existe uma diferença entre o que é exibido e o que é mantido oculto no arquivo .csv do Excel.
Este arquivo está em UTF-8 e mantém todos os caracteres e acentos e pode ser importado, por exemplo, para o MySQL e outros programas de banco de dados.
Esta resposta é retirada deste fórum .
fonte
Outro que eu achei útil: " Números " permite configurações de codificação ao salvar como CSV.
fonte
"nevets1219" está certo sobre os documentos do Google; no entanto, se você simplesmente "importa" o arquivo, ele geralmente não o converte em UTF-8.
Mas se você importar o CSV para uma planilha existente do Google, ele será convertido em UTF-8.
Aqui está uma receita:
O arquivo resultante estará em UTF-8
fonte
Usando o Notepad ++
Isso irá corrigir o arquivo CSV corrompido salvo pelo Excel e salvá-lo novamente na codificação adequada.
O Excel salva no CP-1252 / Windows-1252. Abra o arquivo CSV no Notepad ++. Selecione
Então
Primeiro informe ao Notepad ++ a codificação e depois converta. Algumas dessas outras respostas são convertidas sem antes definir a codificação adequada, destruindo ainda mais o arquivo. Eles iria transformar o que deveria ser
’
em達
. Se seu personagem não se encaixa no CP-1252, ele já estava perdido quando foi salvo como CSV. Use outra resposta para isso.fonte
.csv
é um arquivo de texto. Esta resposta abrirá o arquivo CSV corrompido pelo Excel, corrija-o e salve-o novamente com a codificação adequada.No Excel 2016 e posteriores (incluindo o Office 365), há uma opção CSV dedicada ao formato UTF-8.
No Office 365, salve como; onde anteriormente se pode ter escolhido CSV (delimitado por vírgulas), agora um dos tipos de arquivo que você pode salvar é CSV UTF-8 (delimitado por vírgulas) (* .csv)
fonte
Para aqueles que procuram uma solução totalmente programática (ou pelo menos do lado do servidor), tive grande sucesso usando a ferramenta xls2csv do catdoc.
Instale o catdoc:
Faça a conversão:
Isso é incrivelmente rápido.
Observe que é importante incluir o
-d utf-8
sinalizador, caso contrário, ele codificará a saída no padrãocp1252
codificação e você corre o risco de perder informações.Observe que
xls2csv
também funciona apenas com.xls
arquivos, não funciona com.xlsx
arquivos.fonte
Que tal usar o Powershell.
fonte
Maneira mais fácil: não é necessário abrir o Office e o google docs
csv
arquivo que você acabou de renomear e substitua todas as guias por vírgulas. Para fazer isso no Bloco de notas no Win 10, basta selecionar um campo de guia e clicar emCtrl+H
. Na janela que se abre, digite uma vírgula,
no campo "Substituir por" e clique em "Substituir tudo". Salve seu arquivo. O resultado será um arquivo csv UTF-8 delimitado por vírgula.Não abra com o MS-Office de qualquer maneira !!! Agora você tem um arquivo CSV delimitado por tabulação. Ou um delimitado por vírgula, se você aplicou a etapa número 5.
fonte
.txt
extensão.csv
, ou seja, arquivos separados por vírgula, é apenas confuso.Por mais engraçado que pareça, a maneira mais fácil de salvar minha planilha de 180 MB em um arquivo CSV UTF8 foi selecionar as células no Excel, copiá-las e colar o conteúdo da área de transferência no SublimeText.
fonte
Não consegui encontrar uma solução VBA para esse problema no Mac Excel. Simplesmente parecia não haver maneira de produzir texto UTF-8.
Por fim, desisti do VBA, mordi a bala e aprendi o AppleScript. Não foi tão ruim quanto eu pensava.
A solução é descrita aqui: http://talesoftech.blogspot.com/2011/05/excel-on-mac-goodbye-vba-hello.html
fonte
Supondo um ambiente Windows, salve e trabalhe com o arquivo normalmente no Excel, mas abra o arquivo salvo no Gnome Gnumeric (gratuito). Salve a planilha do Gnome Gnumeric como CSV, que - para mim de qualquer maneira - a salva como UTF-8 CSV.
fonte
Maneira fácil de fazer isso: baixe o escritório aberto ( aqui ), carregue a planilha e abra o arquivo do excel (
.xls
ou.xlsx
). Em seguida, salve-o como um arquivo CSV de texto e uma janela será aberta, solicitando a manutenção do formato atual ou o formato .ODF. selecione "manter o formato atual" e, na nova janela, selecione a opção que melhor funciona para você, de acordo com o idioma em que seu arquivo foi gravado. Para o idioma espanhol, selecione Europa Ocidental (Windows-1252/ WinLatin 1
) e o arquivo funciona perfeitamente. Se você selecionar Unicode (UTF-8
), ele não funcionará com os caracteres em espanhol.fonte
Salvar arquivo xls (arquivo do Excel) como texto Unicode => o arquivo será salvo no formato de texto (.txt)
Altere o formato de .txt para .csv (renomeie o arquivo de XYX.txt para XYX.csv
fonte
Eu também me deparei com o mesmo problema, mas existe uma solução fácil para isso.
Funciona perfeitamente e é gerado um arquivo csv que pode ser importado em qualquer software. Importei esse arquivo csv no meu banco de dados SQLITE e ele funciona perfeitamente com todos os caracteres unicode intactos.
fonte
Me deparei com o mesmo problema e pesquisei este post no Google. Nenhuma das opções acima funcionou para mim. Por fim, converti meu Unicode .xls para .xml (escolha Salvar como ... XML Spreadsheet 2003) e produzi o caractere correto. Depois, escrevi o código para analisar o xml e extraí o conteúdo para meu uso.
fonte
Eu escrevi um pequeno script Python que pode exportar planilhas em UTF-8.
Você apenas precisa fornecer o arquivo do Excel como primeiro parâmetro, seguido pelas folhas que deseja exportar. Se você não fornecer as planilhas, o script exportará todas as planilhas presentes no arquivo do Excel.
fonte
O Excel normalmente salva um arquivo csv como codificação ANSI em vez de utf8.
Uma opção para corrigir o arquivo é usar o Bloco de notas ou o Notepad ++:
fonte
Uma segunda opção para "nevets1219" é abrir o arquivo CSV no Notepad ++ e fazer uma conversão para ANSI.
Escolha no menu superior: Codificação -> Converter em Ansi
fonte
Codificação -> Convert to Ansi codificará em ANSI / UNICODE. Utf8 é um subconjunto de Unicode. Talvez em ANSI seja codificado corretamente, mas aqui estamos falando sobre UTF8, @SequenceDigitale.
Existem maneiras mais rápidas, como exportar como csv (delimitado por vírgulas) e, em seguida, abrir esse csv com o Notepad ++ (gratuito) e depois em Codificação> Converter em UTF8. Mas somente se você precisar fazer isso uma vez por arquivo. Se você precisar alterar e exportar com frequência, o melhor é a solução LibreOffice ou GDocs.
fonte
O Microsoft Excel tem uma opção para exportar planilhas usando a codificação Unicode. Veja a captura de tela a seguir.
fonte
abra .csv bem com o bloco de notas ++. se a codificação for boa (você vê todos os caracteres como deveriam), pressione a codificação e depois converta para ANSI - descubra qual é a codificação atual
fonte
outra solução é abrir o arquivo pelo winword e salvá-lo como txt e reabri-lo pelo excel e funcionará o ISA
fonte
Caixa de diálogo Salvar> Botão Ferramentas> Opções da Web> Guia Codificação
fonte
Eu tenho o mesmo problema e me deparei com esse complemento, e ele funciona perfeitamente no Excel 2013, ao lado do Excel 2007 e 2010, para o qual é mencionado.
fonte