Como você força o Excel a citar todas as colunas de um arquivo CSV?

79

O Excel apenas coloca aspas em torno de determinados campos, como forçar o Excel a salvar um arquivo CSV com aspas em todas as colunas?

    
por Michael Shnitzer 13.04.2010 / 21:17

16 respostas

43

Se você abrir o arquivo XLS no LibreOffice ou no OpenOffice, então Salvar como .... e escolher Texto CSV, ele poderá gerar um arquivo CSV que também inclua aspas como delimitadores. Por exemplo.:   "Smith", "Pete", "Canadá"   "Jones", "Mary", "Inglaterra"

Basta marcar a caixa "Citar todas as células de texto":

Paratambémcitarcamposnuméricos,destaqueseuintervalodecélulasealtereaformataçãodacélulapara"texto" antes de salvar.

    
por 04.09.2013 / 20:18
42

Esta página também tem a solução que vem diretamente da boca do cavalo:

link

Se o link degrada, o tópico a ser pesquisado é:

"Procedimento para exportar um arquivo de texto com delimitadores de vírgula e aspas no Excel" e / ou "Q291296"

tl; dr: use a macro deles

    
por 07.03.2012 / 11:09
15

Eu encontrei esta solução fácil:

  1. Realce as células que você deseja adicionar as aspas.
  2. Clique com o botão direito do mouse e vá para: Formatar células → Guia: Número → Categoria: personalizada
  3. Cole o seguinte no campo Tipo : "''"@"''" (veja os detalhes abaixo)
  4. Clique em "ok"

A string que você está colando é "''"@"''" , que é aspas duplas, aspas simples, aspas simples, aspas duplas, @ símbolo, aspas duplas, aspas simples, aspas simples, aspas duplas.

Editado para o Excel 2010 a partir das informações encontradas aqui .

    
por 21.08.2014 / 18:54
7

O Powershell parece sair corretamente. então algo como

procure por powershell.exe na máquina do Windows, se você não souber powershell.

import-csv C:\Temp\Myfile.csv | export-csv C:\Temp\Myfile_New.csv -NoTypeInformation -Encoding UTF8

Espero que ajude alguém.

    
por 25.01.2018 / 00:10
3

Isso foi o mais fácil para mim: importei a planilha para o Access 2010 e a exportei de lá como um arquivo de texto delimitado. Deu-me as marcas de citação em torno dos meus campos. Leva menos de um minuto para 42k linhas agora que eu tenho os passos para baixo.

    
por 23.05.2014 / 15:56
2

Eu encontrei outro trabalho que não envolve a Macro VBA, mas que requer o Notepad ++ ou um editor de texto similar baseado em macro.

Exporte seu arquivo como texto separado por tabulações e abra o arquivo exportado no Notepad ++. Substitua todas as instâncias do caractere 'tabulação' pelo texto "," (ou seja, literalmente aspas duplas, vírgula, aspas duplas) e use outra macro para prefixar e sufixar cada linha de texto com aspas duplas.

Um pouco hacky, mas achei mais rápido do que conseguir uma macro VBA funcionando.

    
por 09.07.2014 / 17:12
2
  1. Destaque as células que você deseja adicionar as aspas.
  2. Clique com o botão direito do mouse e vá para: Células do processo anterior → Guia: Número → Categoria: personalizado
  3. Cole o seguinte no campo Tipo: "''" @ "''" (veja detalhes abaixo)
  4. Clique em "ok"
  5. Abra o arquivo .csv com o Bloco de notas (ou equivalente)
  6. Substituir tudo '' (aspas simples repetidas) por "(aspas duplas)
  7. Substitua tudo;
  8. Salvar arquivo .csv revisado
por 21.10.2016 / 08:33
1

Se você usar o Notepad ++ para adicionar cotações ao início de cada linha, basta abrir o arquivo csv exportado, colocar o cursor na primeira linha, primeira coluna e clicar no menu Editar / Editor de Coluna ... , no campo ' Texto a inserir ', digite ", então o início de cada linha terá uma citação, então você pode usar a expressão regular para pesquisar / substituir todos os guias.

    
por 23.07.2016 / 04:51
1

Realce as células que você deseja adicionar as aspas. Vá para o formato - > Células - > personalizadas Copie / cole o seguinte no campo Tipo: \ ”@ \” Clique em "ok" Fique feliz que você não fez tudo manualmente.

De: link

    
por 30.09.2016 / 17:54
0

Para usuários do Windows

  1. "Salvar como" arquivo do Excel como CSV
  2. Abra o arquivo salvo com a Planilha do Mircrosoft Works
  3. "Salvar como" a planilha como CSV
  4. Todos os campos não numéricos agora têm "ao redor deles

Observe que esta não é a mesma citação de teclado que possui um caractere de & variedade inversa.
Então, se estiver usando CSV para LOAD na tabela Mysql, recorte e cole no parâmetro ENCLOSED, caso contrário, você se perguntará por que recebeu a mensagem #1083 - Field separator argument is not what is expected

    
por 08.10.2013 / 19:34
0

Eu usei a abordagem abaixo para pegar três colunas no Excel e construir a string na quarta coluna.

=CHAR(34)&A2&CHAR(34)&","&CHAR(34)&B2&CHAR(34)&","&CHAR(34)&C2&CHAR(34)&""

Meu problema com a abordagem "''"@"''" é que a segunda coluna dos meus dados era um número que a abordagem "''"@"''" não fazia nada com os números. Às vezes, a segunda coluna está em branco, mas eu precisava ter certeza de que ela estava representada no arquivo de texto final.

    
por 03.02.2015 / 16:47
0

Outra maneira, se você tiver acesso ao MS (ver 2007), importará o arquivo exportá-lo como um arquivo de texto. Em seguida, altere o arquivo .txt para .csv. Anote todos os campos numéricos não terá aspas duplas em torno dele, então se você precisar de aspas duplas em torno dos números também, então, enquanto no Access, altere o campo de um campo numérico para um campo de texto.

    
por 24.02.2016 / 19:11
0

Exportar sequências separadas por vírgula e entre aspas pode ser feito apenas com o Excel 2016 e o Notepad, usando uma cópia dos dados, uma fórmula, uma exportação, uma alteração de propriedades do arquivo, uma substituição no Bloco de Notas, salvando o arquivo e a limpeza exportados. Cada um é um passo simples. Em detalhe:

  1. Copie as colunas a serem exportadas para uma nova planilha intermediária para preservar o original e como backup, com a nova planilha a ser excluída posteriormente para deixar a planilha como estava.

  2. Coloque o (s) caractere (s) diferente (s), digamos '#' ou ';-)' em cada extremidade de uma string na coluna A com a fórmula =concat("#",trim(A1),"#") , colocando a fórmula em todas as linhas de outra coluna .

    • Colunas adjacentes podem ser feitas ao mesmo tempo, mas não cite números para evitar que elas sejam lidas como strings.
    • O trim evita espaços à direita que podem acionar um comportamento de exportação inábil.
    • Strings não devem conter um '"' que possa perturbar a importação.
  3. Copie as novas colunas de volta por A ..., usando o método '123' para não carregar a fórmula.

  4. Exporte a planilha como um arquivo CSV, para inserir as vírgulas entre os campos, incluindo números.

  5. Altere as propriedades file.csv para que possam ser abertas com o Bloco de Notas.

  6. Use o Bloco de notas para substituir os caracteres arbitrários por '"'.

  7. Embora pareça sensato usar "como o caractere arbitrário, ele deve ser colocado em uma célula diferente, digamos '$ A $ 50', e então o que aparece na exportação é '" ""', aparentemente outro gatilho inconveniente.

  8. No bloco de notas, o arquivo deve ser salvo, tornando-se um arquivo * .txt a ser importado e o intermediário * .csv excluído.

  9. Com a limpeza da missão extra da folha de planilha realizada.

Talvez as ferramentas de exportação do Access possam um dia ser incorporadas ao Excel. Uma abordagem mais genérica entre os programas que usam recortar e colar, seria ter as opções de colar incluindo uma escolha de maneiras de interpretar a estrutura de saída e fornecer delimitadores.

    
por 30.05.2016 / 14:31
0

A resposta de Michael de 21 de agosto de 2014 é muito útil. No entanto, eu tive que executar um passo adicional ou dois:

  1. Abra o arquivo .csv com o Bloco de notas (ou equivalente)
  2. Substituir tudo '' (aspas simples repetidas) por "(aspas duplas)
  3. Substitua tudo; (usado como delimitador na versão alemã do Excel) com
  4. Salvar arquivo .csv revisado
por 10.09.2014 / 14:34
-1

Esta é minha receita. Eu odeio ter que fazer isso, mas não tinha jeito melhor. No meu caso, não estou recebendo cotações em nenhum campo. Eu também precisava usar a codificação UTF-8 e; em vez de guias, então é isso que acabei fazendo.

OBSERVAÇÃO: devido à ilegibilidade de colocar aspas duplas entre aspas simples e assim por diante, usei propositadamente "formatação de teclado" para indicar os pressionamentos de teclas e os caracteres e sequências literais.

  1. Insira uma nova coluna antes de qualquer outra em sua planilha do Excel (clique no título da primeira coluna, a coluna inteira será selecionada, clique com o botão direito, selecione "inserir").
  2. Selecione o intervalo inteiro de células vazias da nova coluna (elas são selecionadas por padrão). No campo de fórmula, insira o que você quiser: por exemplo, xxx . Pressione CTRL + entre para preencher a coluna inteira com o mesmo valor.
  3. Salve o arquivo como Texto Unicode (* .txt).
  4. Abra o arquivo no Notepad ++.
  5. Pressione CTRL + f para abrir Pesquisar / Substituir.
  6. Ir para a guia Substituir.
  7. Em "Modo de pesquisa", selecione "Estendido (\ n, \ r, \ t, \ 0, \ x ...)".
  8. No campo "Pesquisar", digite xxx mais uma tecla guia .
  9. No campo "Substituir", digite " (aspas duplas).
  10. Prima Replace All.
  11. No campo "Pesquisar", coloque um pressionamento de tecla na guia .
  12. No campo "Substituir", digite ";" (aspas duplas, ponto e vírgula, aspas duplas).
  13. Prima Replace All.
  14. Você está quase pronto. Para as últimas aspas duplas, digite \ r no campo "Pesquisar" e "\ r" (aspas duplas, contrabarra, aspas duplas) na caixa "Substituir". Pressione Substituir Tudo.
  15. Contanto que você não esteja usando caracteres chineses, etc., poderá alterar a codificação para UTF-8 e salvar o arquivo com segurança.
por 16.09.2014 / 17:36
-1

Eu me deparei com esse problema muitas vezes. Aqui está a solução mais simples que eu encontrei.

  1. Salve o arquivo como Excel
  2. Importe o Excel para uma tabela do Access
  3. Exporte a tabela do Access para um arquivo de texto.

O Access permitirá que você especifique o delimitador de exportação como vírgula e campos de texto de qualificação com aspas. No assistente de exportação, você pode especificar qualquer delimitador ou caractere em torno das seqüências desejadas.

Você pode precisar criar uma consulta do Access para organizar os campos em uma ordem específica ou ocultar o campo de ID automático adicionado pelo Access.

Além disso ... uma vez exportado para um arquivo CSV, NÃO o abra novamente no Excel. Se você quiser ver os resultados, abra-o no bloco de notas. Excel tem uma tendência a mexer com os dados de um csv .... Eu acho que foi preenchido com zeros à esquerda se eu me lembro corretamente.

    
por 06.04.2016 / 20:58