2010-04-13 19:17:39 +0000 2010-04-13 19:17:39 +0000
93
93

Como forçar o excel a citar todas as colunas de um ficheiro CSV?

O Excel só coloca citações em torno de certos campos, como forçar o excel a guardar um ficheiro CSV com citações em torno de cada coluna?

Respostas (16)

46
46
46
2013-09-04 18:18:59 +0000

Se você abrir o arquivo XLS no LibreOffice ou OpenOffice, então Save As….e escolher Text CSV, ele permite gerar um arquivo CSV que também inclui aspas como delimitadores. Por exemplo..: “Smith”, “Pete”, “Canada” “Jones”, “Mary”, “England”

Basta marcar a caixa “Quote all text cells”:

Para também citar campos numéricos, destaque o seu intervalo de células e altere a formatação das células para “text” antes de guardar.

45
45
45
2012-03-07 10:09:56 +0000

Esta página também tem a solução que vem directamente da boca do cavalo: http://support.microsoft.com/kb/291296/en-us

Se o link se degradar, o tópico a pesquisar é:

“Procedimento para exportar um ficheiro de texto com delimitadores de vírgulas e aspas em Excel” e/ou “Q291296”

tl;dr: use a sua macro

19
19
19
2014-08-21 16:54:18 +0000

Encontrei esta solução fácil:

  1. Realce as células que pretende adicionar as citações.
  2. Clique com o botão direito do rato e vá para: Células de Formato → Tab: Número → Categoria: Personalizado
  3. Cole o seguinte no campo Type: "''"@"''" (ver detalhes abaixo)
  4. Clique em “ok”

A string que está a colar é "''"@"''" que é double quote, single quote, single quote, double quote, @ symbol, double quote, single quote, single quote, double quote.

Editado para Excel 2010 a partir da informação encontrada aqui .

14
14
14
2018-01-24 23:10:25 +0000

Powershell parece despejar correctamente. por isso algo como

procure por powershell.exe na máquina de janelas se não conhece powershell.

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

Espero que ajude alguém.

4
4
4
2016-09-30 15:54:56 +0000

Realce as células que pretende adicionar as citações. Vá para Formatar -> Células -> Copiar/Colar o seguinte no campo Tipo: \”@\” Clique em “ok” Fique feliz por não ter feito tudo à mão.

From: http://www.lenashore.com/2012/04/how-to-add-quotes-to-your-cells-in-excel-automatically/

4
4
4
2014-05-23 13:56:19 +0000

Isto foi o mais fácil para mim: Eu importei a folha de cálculo para o Access 2010 e exportei-a a partir daí como um ficheiro de texto delimitado. Deu-me as aspas à volta dos meus campos. Demora menos de um minuto para linhas de 42k agora que tenho os passos para baixo.

3
3
3
2014-07-09 15:12:51 +0000

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

Exporte o seu ficheiro como texto tabelado, depois abra o ficheiro exportado dentro do Notepad++. Substitua todas as instâncias do caracter ‘tab’ pelo texto “,” (ou seja, literalmente aspas, vírgula, aspas duplas) e depois use outra macro para prefixar e sufixar cada linha de texto com um aspas duplas.

Um pouco hacky mas achei mais rápido do que pôr uma macro VBA a funcionar.

2
2
2
2016-10-21 06:33:38 +0000
  1. Realce as células que pretende adicionar as aspas.
  2. Clique com o botão direito do rato e vá para: Células de formato → Tab: Número: → Categoria: Personalizado
  3. Cole o seguinte no campo Tipo: "''"@"''" (ver detalhes abaixo)
  4. Clique em “ok”
  5. Abra o ficheiro .csv com o Notepad (ou equivalente)
  6. Substitua todos os ' ' (aspas simples repetidas) por " (aspas duplas)
  7. Substitua todos os ;
  8. 8. Guardar o ficheiro .csv revisto
1
1
1
2016-07-23 02:51:20 +0000

Se utilizar o Notepad++ para adicionar citações ao início de cada linha, basta abrir o ficheiro csv exportado, colocar o cursor na 1ª linha, 1ª coluna, depois clicar no menu Editar/ Editor de colunas… , no campo ‘ texto a inserir’, introduzir , depois o início de cada linha terá uma citação, depois pode utilizar a expressão regular para pesquisar/substituir todos os separadores.

0
0
0
2016-05-30 12:31:35 +0000

A exportação de cadeias de caracteres separadas por vírgula e citadas pode ser feita apenas com o Excel 2016 e o Notepad, utilizando uma cópia dos dados, uma fórmula, uma exportação, uma alteração das propriedades do ficheiro, uma substituição no Notepad, guardando o ficheiro exportado e a limpeza. Cada um é um passo simples. Em detalhe:

  1. Copie as colunas a exportar para uma nova folha intermédia para preservar o original e como cópia de segurança, com a nova folha a ser apagada mais tarde para deixar a folha como estava.

  2. Coloque caracteres que não ocorram de outra forma, diga “#” ou “;-)” em cada extremidade de uma cadeia na coluna diga A com a fórmula =concat("#",trim(A1),"#"), colocando a fórmula em todas as linhas de outra coluna.

  3. Copie a(s) nova(s) coluna(s) novamente sobre A…, utilizando o método ‘123’, de modo a não transportar a fórmula.

  4. Exportar a folha como um ficheiro CSV, para colocar as vírgulas entre campos, incluindo números.

  5. Alterar as propriedades file.csv para que possa ser aberto com o Bloco de Notas.

  6. Utilizar o Bloco de Notas para substituir o(s) carácter(es) arbitrário(s) por “ ”. Embora pareça sensato usar “como carácter arbitrário, tem de ser colocado numa célula diferente, digamos ”$A$50", e depois o que aparece na exportação é “”. “ ”, aparentemente outro gatilho inconveniente.

  7. No bloco de notas o ficheiro deve ser guardado, tornando-se um ficheiro *.txt a importar e o ficheiro intermédio *.csv apagado.

  8. Com a limpeza da missão extra da folha de cálculo realizada.

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

0
0
0
2016-02-24 18:11:30 +0000

Outra forma de importar o ficheiro, se tiver acesso aos EM (tenho ver 2007), é exportá-lo como ficheiro de texto. Depois mude o ficheiro .txt para .csv. Note que todos os campos de número não terão aspas duplas em torno dele, por isso se precisar de aspas duplas em torno dos números também, então enquanto no Access altere o campo de um campo de número para um campo de texto.

0
0
0
2013-10-08 17:34:41 +0000

Para utilizadores do Windows

  1. ficheiro “Save as” Excel como CSV
  2. Abrir ficheiro guardado com a folha de cálculo Mircrosoft Works Spreadsheet
  3. “Guardar como” a folha de cálculo como CSV
  4. Todos os campos não numéricos têm agora “ à sua volta

Note que esta não é a mesma citação de teclado que tem uma variedade de avanço e recuo. Então se usar o CSV para carregar na tabela Mysql, corte e cole no parâmetro ENCLOSED, caso contrário vai-se perguntar porque recebe a mensagem #1083 - Field separator argument is not what is expected

0
0
0
2015-02-03 15:47:16 +0000

Usei a abordagem abaixo para pegar três colunas em Excel e construir a string na quarta coluna.

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

A minha questão 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. Por vezes a segunda coluna está em branco mas eu precisava de ter a certeza que estava representada no ficheiro de texto final.

-1
-1
-1
2014-09-16 15:36:29 +0000

Esta é a minha receita. Detesto ter de fazer isto, mas não tinha melhor maneira. No meu caso, não estou a receber citações em nenhum campo. Também precisei de usar codificação UTF-8 e ; em vez de tabulações, foi isto que acabei por fazer.

NOTE: devido à ilegibilidade de colocar aspas duplas, fechadas por aspas simples, etc., usei propositadamente “formatação de teclado” para indicar tanto as teclas como os caracteres literais e as cordas.

  1. Insira uma nova coluna antes de qualquer outra na sua folha de cálculo Excel (clique no título da 1ª coluna, toda a coluna é seleccionada, clique com o botão direito do rato, seleccione “inserir”).
  2. 2. Seleccione todo o conjunto de células vazias da nova coluna (são seleccionadas por defeito). No campo da fórmula, insira o que quiser: por exemplo, xxx. Pressione CTRL+enter para preencher a coluna inteira com o mesmo valor.
  3. Guarde o ficheiro como Unicode Text (*.txt).
  4. Abra o ficheiro no Bloco de Notas++.
  5. Prima CTRL+f para abrir a opção Search/Replace.
  6. Vá ao separador Replace.
  7. Em “Search mode” seleccione “Extended (\n, \r, \t, \0, \x…)”.
  8. No campo “Search”, introduza xxx mais um toque de tecla no separador.
  9. No campo “Substituir”, introduza “ (uma aspa dupla).
  10. Prima Substituir todos.
  11. No campo "Search” (Pesquisar), introduza um toque de tecla de tab.
  12. No campo “Substituir”, introduza “;” (aspa dupla, ponto e vírgula, aspa dupla).
  13. Carregue em “Replace All”.
  14. Está quase pronto. Para a última aspa dupla, introduza \r no campo “Search” e “\r” (aspa dupla, barra invertida, aspa dupla) no campo “Replace”. Prima “Replace All. 15”. Desde que não esteja a utilizar caracteres chineses, etc., pode alterar a codificação para UTF-8 e guardar o ficheiro em segurança.
-1
-1
-1
2019-08-19 22:22:08 +0000

Eis como usar a aplicação OpenOffice para pegar numa folha de cálculo Excel e criar um ficheiro de texto (csv) com aspas à volta de cada campo de texto.

Abra o ficheiro Excel com o OpenOffice, depois siga estes passos:

File > Save As

Forneça um novo nome para o ficheiro que está prestes a criar

Para o tipo de ficheiro, escolha “Test CSV (. csv)”

active a caixa de verificação “Edit Filter Settings”

clique em “Save”

escolha “Keep current format”

O delimitador de campo deve ser uma vírgula:

O delimitador de texto deve ser uma vírgula: “

marque a caixa "Citar todas as células de texto”

clique em “OK”

Isto funcionou para mim!

-1
-1
-1
2016-04-06 18:58:41 +0000

Já me deparei com esta questão muitas vezes. Aqui está a solução mais simples que encontrei.

  1. Guardar o ficheiro como Excel
  2. Importar o Excel para uma tabela de acesso
  3. Exportar a tabela do Access para um ficheiro de texto.

Access permite especificar o delimitador de exportação como uma vírgula e campos de texto qualificados com aspas. No assistente de exportação, pode especificar qualquer delimitador ou caracter em torno de strings que desejar.

Poderá ter de criar uma consulta Access para organizar os campos numa determinada ordem ou ocultar o campo auto-ID adicionado pelo Access.

Também… uma vez exportado para um CSV, NÃO o abra novamente no Excel. Se quiser ver os resultados, abra-o no bloco de notas. O Excel tem uma tendência para mexer com os dados de um csv…. Acho que foi preenchido com zeros à esquerda, se bem me lembro.