Como remover linhas que correspondem?

0

Eu tenho um arquivo csv com uma lista de pessoas (primeiro nome, sobrenome, e-mail) e, mais tarde, receberei uma lista de pessoas em outro arquivo csv que cancelou a assinatura (apenas uma coluna com e-mail).

P: Como posso excluir todas as linhas do primeiro arquivo caso a linha contenha e-mails de alguém que não tenha sido inscrito?

Eu estava pensando em usar uma planilha (MS Excel, Open Office, google), mas posso usar qualquer outra solução.

Eu tentei o MS Excel, mas simples remover duplicado não está funcionando. Eu acho que preciso usar outra abordagem. Mas não sei o que fazer a seguir.

Note que preciso exportar o csv 'clean' para o novo arquivo. É claro que não quero que o arquivo tenha o e-mail 'desinscrito'.

    
por Radek 11.02.2015 / 00:18

2 respostas

2

Se você usar o Microsoft Access, poderá vincular-se ao CSV não suspeito (supondo que seja o mesmo arquivo sempre com e-mails diferentes). Em seguida, crie uma consulta uma consulta de atualização que sinalize seus assinantes com um sinalizador de cancelamento de assinatura. Talvez essa mesma consulta possa atualizar outra coluna com a data / hora atual. Em seguida, você pode executar outra consulta que exportará a tabela atualizada para um CSV limpo. Você pode fazer tudo isso como uma macro no Access. Contanto que seu arquivo CSV vinculado seja o mesmo, tudo o mais pode ser processado automaticamente e um CSV limpo ser criado em questão de segundos.

    
por 11.02.2015 / 23:24
1

Eu tenho uma maneira semi-automatizada de fazer isso no Excel:

  1. Importe os arquivos CSV em duas planilhas. Chamei-os de MasterList e UnsubList
  2. Classifique a UnsubList ( Sort A to Z ) usando o botão Classificar & Botão de filtro
  3. No MasterList , criei outra coluna chamada Unsub?
  4. Em cada linha abaixo da coluna Unsub? , insira a seguinte fórmula:

    =IF(C2=VLOOKUP(C2,UnsubList!$A$2:$A$1000,1),"Unsub","Keep")

    Neste exemplo, seria para a segunda linha. Se a lista de suspeitos tiver mais de 999 entradas, você precisará aumentar o intervalo.

  5. Em seguida, ative o Filtro (sob o botão Classificar e Filtrar). Você deve ter algo semelhante à captura de tela abaixo.

  6. Desmarque apenas as linhas Keep usando a lista suspensa da coluna Unsub? . Isso significa que apenas as linhas que exigem remoção permanecerão visíveis
  7. Selecione todas essas linhas, exceto o título, arrastando os números de linha de cima para baixo, clique com o botão direito e clique em Delete no menu pop-up
  8. Agora eles sumiram da MasterList
  9. Exclua a coluna Unsub e exporte novamente para csv

    
por 11.02.2015 / 01:19