O que você precisa não é o Excel. O Excel e o Calc (OO.o) podem abrir o CSV como planilhas, mas o que você deseja é manipular o arquivo de texto em um arquivo CSV formatado corretamente.
Para isso, você quer um bom editor de texto. Há muito poucos editores de texto que permitem fazer pesquisas e substituições de múltiplas linhas (não sei por que, já que esse é um recurso incrivelmente útil e fácil de implementar). Mas um editor livre muito bom que ( sorta ) tem essa funcionalidade é Notepad2 É basicamente uma versão atualizada do bloco de notas padrão do Windows, mas não tão volumosa quanto o Notepad ++. Você pode substituir o Notepad do Windows pelo Notepad2 ou pelo Notepad ++, mas isso está além do escopo desta resposta.
Depois de instalar o Notepad2:
- Abra o arquivo de texto e clique em
Ctrl + H
para abrir a localização & substituir diálogo. - Digite uma vírgula ou vírgula e espaço na caixa
Search String
. - Agora você perceberá que a caixa
Replace with:
é apenas uma linha única. Tudo bem, porque o Notepad2 suporta regex logo depois de sair da caixa. Então, marque a caixa que dizRegular expression search
. - Apesar do que a caixa de seleção acima diz, é realmente Pesquisa de expressão regular E substituir - significando que você pode usar regexps na caixa Substituir também. Então, digite
\n
e clique emReplace All
. - Em seguida, salve como * .csv e saia. Se você abri-lo no Excel / Calc, agora deve ser uma coluna de nomes / e-mails.
Editar:
Na verdade, relendo sua pergunta, ocorre-me que você pode querer 2 colunas: 1 para email, uma para nome. Se for esse o caso, então é um pouco mais difícil de fazer do que apenas substituir todas as vírgulas por quebras de linha. Mas não tenha medo! Regexps estão aqui para ajudar mais uma vez:
- Abra o arquivo de texto original.
- Abra a pesquisa & substituir diálogo.
- Digite isso na caixa de pesquisa:
\([^,]+\),\([^,]+\),
- Digite isso na caixa de substituição:
,\n
- Acertar
Replace All
. - Salve como * .csv e saia.
Opcionalmente, você pode modificar os regexps para colocar um espaço após as vírgulas, se for assim que o arquivo de texto é formatado ou como você deseja formatado, por exemplo,
first last, [email protected], bob builder, [email protected], foo...
versus:
first last,[email protected],bob builder,[email protected],foo...
Editar2:
Para o sabor do Notepad ++ de regexp, você não precisa escapar de agrupamentos com barras invertidas, portanto, o regexp de pesquisa correspondente seria:
([^,]+),([^,]+),
Se houver endereços de e-mail vazios:
([^,]+),([^,]*), // assuming that the email is the second parameter
([^,]*),([^,]+), // make the first parameter optional
Editar3:
Para lidar com campos completamente ausentes, fica um pouco confuso. Isso ocorre porque nem o Notepad2 nem o Notepad ++ suportam grupos opcionais ou lookbehinds negativos. Então, precisamos aplicar dois regexps diferentes:
-
Isso pega todos os e-mails consecutivos e injeta um campo vazio (
, ,
) entre eles. Execute isso (comReplace All
) várias vezes até que você pare de obter correspondências.:([^,]+@[^,]+), ([^,]+@[^,]+),* // search for , , , // replace
-
Adicione manualmente o campo extra vazio no início ou no final do documento, se necessário.
-
Dependendo se o e-mail vem primeiro ou o nome vem primeiro, substitua um destes:
([^,]+), ([^,]*),\s // email first ([^,]*), ([^,]+),\s // name first
com:
, \n
E isso deve ser feito. O \s
acima é apenas um caractere de espaço. Você pode colocar um espaço lá ou escrever \s
no regexp.
Nota: Eu normalmente tento evitar que uma pessoa instale um novo editor de texto / gráficos / áudio / vídeo apenas para resolver um problema específico, mas este é um exemplo onde: 1.) é muito leve ( ~ 300KB) programa gratuito que eu conheço funciona; 2.) é incrivelmente útil e quase qualquer pessoa que não tenha instalado uma substituição de bloco de notas como o Notepad2 / Notepad ++ se beneficiaria da instalação. Na verdade, eu o instalo em todos os computadores Windows que uso, e também em todas as estações de trabalho do Windows no meu trabalho.