A maneira mais fácil de abrir o CSV com vírgulas no Excel

196

Os arquivos CSV são automaticamente associados ao Excel, mas quando os abro, todas as linhas estão basicamente na primeira coluna, assim:

insira a descrição da imagem aqui

Provavelmente porque, quando o Excel pensa em "valores separados por vírgula", na verdade ele procura outro delimitador (acho que é ponto-e-vírgula, mas não é importante).

Agora, quando eu já abri esse arquivo no Excel, existe um botão ou algo para dizer "reabra esse arquivo e use vírgula como delimitador"?

Sei que posso importar os dados para uma nova planilha etc., mas estou solicitando especificamente uma ajuda para uma situação em que já possuo um arquivo CSV com vírgulas e desejo abri-lo no Excel sem criar nova pasta de trabalho ou transformar o arquivo original.

Borek Bernard
fonte
2
Por várias razões, além do delimitador, é uma péssima idéia deixar o Excel abrir o CSV (ou qualquer outro arquivo de texto sem formatação) usando as configurações padrão. Dependendo do seu arquivo de origem, você irá corromper seus dados. Escrevi um artigo detalhado sobre isso aqui: theonemanitdepartment.wordpress.com/2014/12/15/…
Wouter
4
É tão difícil entender o que deve estar acontecendo dentro da Microsoft que o Excel ainda não consegue abrir arquivos CSV assim. Também quebra números etc. de maneiras surpreendentes. Mesmo o JavaScript não converte isso implicitamente.
usr
Desculpe a sepultura dig .. mas há uma chance muito boa o fato de sua primeira linha não tem nenhum vírgulas faz o Excel desistir de tentar
patricktokeeffe
Basta usar ;como delimitador e abrir o arquivo com um clique duplo irá separá-lo em colunas no MS Excel.
Hrvoje T

Respostas:

179

Vá para a guia Dados e selecione o texto para as colunas em Ferramentas de dados , selecione delimitado e clique em Avançar . Em seguida, selecione vírgula como delimitador e pressione Concluir.

insira a descrição da imagem aqui

Raystafarian
fonte
55
E você precisa fazer isso sempre que clicar duas vezes em * .csv no Windows Explorer? De alguma forma, não acredito que não haja uma maneira mais simples, especialmente se o Excel se associar à extensão de arquivo * .csv.
Borek Bernard
3
Geralmente, um assistente deve aparecer, fazendo com que você faça esse processo ao abrir o arquivo, mas se não for, poderá fazê-lo dessa maneira. Você também pode acessar dados - obter dados externos - do texto e executar o assistente de importação a partir daí.
Raystafarian
13
Esse é o problema, não quero importar dados, estou abrindo um arquivo CSV perfeitamente válido ao qual o Excel se associou. Mas tudo bem, se é assim, provavelmente precisarei encontrar outra coisa para editar arquivos CSV.
Borek Bernard
2
Sim, é uma PITA, o mesmo aqui no Excel 2003. Também tenho que usar Data \ Import. Não é realmente um problema em si, mas faço estas importações apenas duas vezes por ano, então eu regularmente esquecer e tentar File / Open primeira ;-(
Jan Doggen
11
@gstackoverflow você pode, basta selecionar a coluna A e depois fazer isso.
Tom
162

Colocação:

sep=<delimeter>

como a primeira linha do seu arquivo csv automaticamente informará o Excel para usar esse caractere como separador em vez da vírgula padrão.

Por exemplo:

sep=|
COLUMN1|COLUMN2
data,1|data2
...

resultará no pipe (|) sendo usado como delimitador, em vez de vírgula, sem que o usuário precise executar primeiro o assistente de importação.

Krivda
fonte
7
Para que isso funcione no Excel 2013, você deve desmarcar Use system separators naOptions>Advanced
Michael Campo
11
Você pode definir o separador decimal de maneira semelhante? Eu quero que seja ., por exemplo, 1.5mas, no meu sistema, .é o separador para milhares.
CGFoX 26/01
2
Isso funcionou para mim, mesmo que eu tenha marcado "Usar separadores de sistema". Nenhuma outra solução funcionou para mim.
temor
Confirmando que isso funciona no Excel 2016 com "Usar separadores de sistema" marcado. Isso é ótimo.
Bas
Solução perfeita para um problema estúpido! (O Excel deve ser capaz de reconhecer o separador usado, ou pelo menos me pediu, e deixe-me decidir!) Em seguida : é possível forçar o Excel a usar outro conjunto de caracteres também? Todos os meus CSV estão em UTF-8, mas o Excel tenta abri-los como 'Macintosh', o que está criando muitos problemas para mim !!
Qualificável
51

Não sei se você conseguiu resolver esse problema, mas também tive o mesmo problema e o resolvi após algumas investigações.

Acontece que era uma questão de cenário regional;

Acesse o painel de controle -> Configurações regionais -> Configurações avançadas e altere o separador da lista para vírgula .

O meu foi definido como ponto-e-vírgula na África do Sul depois que mudei para o Windows 8. Depois que mudei para vírgula, todos os meus CSVs são abertos corretamente com o Excel 2013.

Espero que isto ajude.

Comentário adicional:
Eu usei as mesmas etapas que o Lèse majesté, mas também mudei o símbolo Decimal de vírgula (,) para ponto final (.) E isso resolveu o meu problema.

Isso ocorre porque, por padrão, o Windows 8 usa uma vírgula como símbolo decimal e o Excel fica confuso quando precisa usar os caracteres como separador e símbolo decimal.

Maxwell Maake
fonte
Já está definido assim e ignorado pelo excel. Ainda não separa vírgulas.
22614 Elliot
Provavelmente, requer pelo menos um logoff, o logon para entrar em vigor.
Gert van den Berg
Trabalhou para mim depois de alterar o símbolo decimal, obrigado!
James Cameron
11
Bem, ainda acho ultrajante o Excel usar configurações regionais para ler um formato de arquivo!
temor
Obrigado. Essa configuração resolveu um grande problema para mim no trabalho. Excel é tão estúpido!
Moha
19

Isto é o que funcionou para mim - é uma combinação de algumas das respostas aqui.

(Nota: Meu PC está usando configurações de formato tcheco que formatam números como este: por exemplo 1 000,00, vírgula é usada como separador decimal e espaço como separador de milhares. O separador de lista padrão nas configurações do sistema é ;.)

  1. Alterei o separador de lista do sistema para vírgula em Região -> Configurações adicionais
  2. No Excel 2013, fui para Opções -> Avançado e desmarcado Usar separadores de sistema (em "Opções de edição", que é a primeira seção)
  3. I definir separador decimal no Excel para. e o separador de milhares de ,(o separador de milhares, provavelmente, não importa, mas eu queria torná-lo coerente com a formatação US)

Uma alternativa para as etapas 2 + 3 seria alterar essas configurações nas configurações do sistema (etapa 1), mas geralmente quero que os números sejam formatados de acordo com a localidade tcheca.

Desvantagens : no Excel, agora preciso inserir números decimais usando a localidade dos EUA, ou seja, usando o ponto em vez de vírgula. Isso parece um pouco artificial, mas é uma troca aceitável para mim. Felizmente, a tecla de vírgula no meu teclado numérico virou-se para a tecla de ponto automaticamente (e somente no Excel - outros aplicativos ainda emitem uma vírgula).

Borek Bernard
fonte
Ele não funciona com o Excel 2010 / cz :-(
Leos Literak
@LeosLiterak: Apenas tentei no Excel 2013 e funcionou.
precisa saber é o seguinte
10

Aparentemente, o Excel usa uma configuração regional do Windows 7 para o delimitador padrão para CSVs (que aparentemente é uma guia por padrão). Você pode alterar essa configuração assim .

No entanto, não sei que outras repercussões isso terá. Suponho que se todos os arquivos CSV do seu computador estiverem separados por vírgulas, não haverá problemas. Mas se você tiver outro programa (provavelmente Microsoft) que também usa arquivos CSV e normalmente usa CSVs formatados com um delimitador diferente, isso pode ser problemático.

Por exemplo, se, por exemplo, o Outlook usar CSVs separados por tabulação para importar / exportar contatos e você receber esses CSVs de uma fonte externa (Gmail, outro computador, qualquer que seja ...), a alteração dessa configuração em todo o sistema poderá impedir a abertura do Outlook esses CSVs separados por tabulação.

Lèse majesté
fonte
3
Tentei alterar minhas "configurações regionais e de idioma"> Formatos> Configurações adicionais> Separador de listas, no entanto, não teve nenhum efeito na abertura de arquivos CVS no Excel. Infelizmente, não é uma solução.
Borek Bernard
2
O mesmo aqui no Excel 2010 e no Windows 7. Já estava, nas minhas configurações, e o Excel ainda está por padrão na guia.
rhsatrhs
Alguma idéia se podemos inserir 2 caracteres diferentes nessa caixa no Painel de Controle? Por exemplo, ;,para permitir os dois caracteres como lista seaparators?
Dzhuneyt
7

O LibreOffice Calc possui um filtro csv muito avançado que permite escolher separadores, formatos e codificações. Trabalho extensivamente com dados em vários formatos e muitas vezes preciso enviar esses dados no formato Excel para os usuários. Eu uso o LibreOffice Calc para converter arquivos csv no formato desejado e, em seguida, salvar como xls.

Isso pode não responder como fazê-lo facilmente no Excel, mas sim como fazê-lo facilmente, especialmente porque o OP nos comentários sugere que usar algo diferente do excel seria uma opção aceitável.

fsando
fonte
4

Excel 2010 - Além de validar suas configurações avançadas regionais, verifique sua configuração avançada do Excel:

Arquivo -> Opções -> Avançado

Verifique se "Usar separadores de sistema" está marcado.

user295069
fonte
2
Ou, é claro, verifique se não está marcado se você deseja importar algo diferente das configurações regionais. :-) Mas: é bom saber que essa configuração existe; Eu nunca escutei sobre isto antes.
Arjan 31/01
11
Essas configurações parecem influenciar apenas os separadores de números, não o separador de lista.
Borek Bernard
3

Um guia passo a passo para os perplexos:

  1. Pressione a tecla Windows
  2. Digite " intl.cpl " e pressione Enter.
  3. Clique em " Configurações adicionais ".
  4. Vá para a guia " Números ":
  5. Mude o símbolo decimal para um ponto .
  6. Altere o " Símbolo do agrupamento de dígitos " para um espaço .
  7. Altere o " Separador de listas " para uma vírgula .
  8. Vá para a guia " Moeda ":
  9. Mude o símbolo decimal para um ponto .
  10. Altere o " Símbolo do agrupamento de dígitos " para um espaço .
Anthony Faull
fonte
Tudo bem se você estiver sempre usando seus arquivos .CSV criados automaticamente. Mas não funciona quando você obtém um arquivo de outra pessoa que usou vírgula como separador.
stevenvh
0

Alterando o separador decimal para. (ponto) e separador de lista para (vírgula) ajudaram a manter o CSV na exibição normal no Excel em computadores noruegueses.

Madhu Rijal
fonte
Também no meu búlgaro
Петър Петров
0

Para o meu sistema, as configurações já foram definidas como sugeridas por outras pessoas (símbolo decimal definido como. (Ponto) e separador de lista definido como (vírgula)), mas ainda estava com problemas de exibição ao importar um arquivo CSV exportado de um aplicativo diferente .

Após algumas tentativas e erros, encontrei uma solução que abre todos os arquivos CSV na exibição correta.

Aqui está o que funcionou para mim no Excel 2013 com Windows 8:

Painel de controle> Relógio, idioma e região> Região> Configurações adicionais> Separador de lista definido como ; (vírgula E ponto-e-vírgula) -> clique em "Aplicar" e veja se isso funciona.

aprender fazendo
fonte
0

No Excel, guia DADOS , na subseção Obter dados externos , clique em " Do texto " e importe seu CSV no Assistente.

Walter
fonte
0

Sei que uma resposta já foi aceita, mas um item a ser verificado é a codificação do arquivo CSV. Eu tenho um script do Powershell que gera arquivos CSV. Por padrão, ele os codificava como UCS-2 Little Endian (por Notepad ++). Ele abriria o arquivo em uma única coluna no Excel e eu teria que fazer a conversão de texto em colunas para dividir as colunas. Alterar o script para codificar a mesma saída que "ASCII" ( UTF-8 sem BOM por Notepad ++) me permitiu abrir o CSV diretamente com as colunas divididas. Você também pode alterar a codificação do CSV no Notepad ++ .

  • Codificação de menu > Converter em UTF-8 sem BOM
  • Salve o arquivo CSV
  • Aberto no Excel, as colunas devem ser divididas
Shayne Ephraim
fonte
ASCII e UTF-8 sem BOM não são a mesma coisa. Na verdade, o ASCII se encaixa perfeitamente no UTF-8 sem BOM, já que o UTF-8 abordou o padrão. Assim como personagens não abrangidos em ASCII vir em torno dele poderia apenas saída ANSI ou UTF-8 em vez ... Se você saída nunca tem nada fora do ASCII, então é bom
sinni800
0

Com a versão mais recente do Excel 2010, você pode abrir (menu: Arquivo, Abrir ou control-O) um arquivo .CSV como um arquivo de texto. Em seguida, você obtém o assistente diretamente, tão facilmente quanto no LibreOffice Calc, onde é possível selecionar o delimitador de campo correto.

insira a descrição da imagem aqui

Isso funciona apenas com arquivos com a extensão .CSV adequada. Meu aplicativo era produzir saída CSV com uma extensão .ACC e, ao tentar abrir isso no Excel com o método acima, leva a cantos do Excel completamente diferentes :-(

Roland
fonte