Gostaria de pesquisar um arquivo apenas na primeira coluna com base em um conjunto de IDs de outro arquivo. Copie e cole os resultados em outro arquivo de saída.
Por exemplo ,
Meu primeiro arquivo contém
ABHA-PHY49M
ABHA-PHY49N
ABHA-PHY49O
Meu segundo arquivo contém
"ABHA-PHY49M";"Blah blah";"Ashwin";"";"10/14/2 009 10:36:29";"ABHA-PHY49N";"Hi,
Some mail contents1
Kind Regards,"
"ABHA-8RXIYY";"Blah blah";"Ashwin";"";"10/14/2 009 10:36:29";"ABHA-PHY49N";"Hi,
Some mail contents2
Kind Regards,"
"ABHA-PHY49M";"Blah blah";"Ashwin";"";"10/14/2 009 10:36:29";"ABHA-PHYCCC";"Hi,
Some mail contents3
Kind Regards,"
"ABHA-8RXIXX";"Blah blah";"Ashwin";"";"10/14/2 009 10:36:29";"ABHA-PHYDDD";"Hi,
Some mail contents4
Kind Regards,"
Preciso recuperar todas as linhas que correspondem aos IDs do primeiro arquivo com o valor da primeira coluna. Não consigo usar o Excel porque existe um campo chamado Verbatim onde o conteúdo pode ser texto livre e conter CR+LF etc que destrói a formatação ao abrir com Excel. Gostaria de saber se podemos escrever/gravar uma macro para conseguir isso. Tudo o que consigo pensar é pesquisar os ids (obtidos no arquivo1) e pesquisar na primeira coluna, estender a seleção e copiar os dados. Não tenho certeza se isso é possível ou como fazê-lo.
No exemplo acima, apenas duas linhas serão selecionadas por causa do IdABHA-PHY49M
"ABHA-PHY49M";"Blah blah";"Ashwin";"";"10/14/2 009 10:36:29";"ABHA-PHY49N";"Hi,
Some mail contents1
Kind Regards,"
"ABHA-PHY49M";"Blah blah";"Ashwin";"";"10/14/2 009 10:36:29";"ABHA-PHYCCC";"Hi,
Some mail contents3
Kind Regards,"
Responder1
Você já tentou uma pesquisa de expressão regular? Se for definitivamente a primeira coluna que você está pesquisando, isso deverá funcionar:
^"ABHA-PHY49M".*$
- O primeiro caractere
^
garante que a pesquisa será feita apenas no início da linha. - Os caracteres literais
"ABHA-PHY49M"
correspondem à string que você está procurando. - Os caracteres restantes
.*$
incluem todo o resto da linha.
Os resultados da pesquisa que obtenho, a partir dos seus dados de amostra, parecem corretos:
Search "^"ABHA-PHY49M".*$" (2 hits in 1 file)
new 5 (2 hits)
Line 1: "ABHA-PHY49M";"Blah blah";"Ashwin";"";"10/14/2 009 10:36:29";"ABHA-PHY49N";"Hi, Some mail contents1 Kind Regards,"
Line 5: "ABHA-PHY49M";"Blah blah";"Ashwin";"";"10/14/2 009 10:36:29";"ABHA-PHYCCC";"Hi, Some mail contents3 Kind Regards,"
Responder2
HáPlug-in SQLpermite executar comandos de banco de dados SQL em arquivos CSV. No seu caso, a consulta seria:
select * from data where id="abha-phy49m"
se a primeira coluna for chamada de "id" (comandos sem distinção entre maiúsculas e minúsculas). Isto irá recuperar todas as linhas do arquivo atual onde o id é "abha-phy49m"
EDIT: Infelizmente, ele converte o texto de saída em minúsculas