Я хотел бы искать файл только по первому столбцу на основе набора идентификаторов из другого файла. Скопируйте и вставьте результаты в другой выходной файл.
Например ,
Мой первый файл содержит
ABHA-PHY49M
ABHA-PHY49N
ABHA-PHY49O
Мой второй файл содержит
"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,"
Мне нужно извлечь все строки, соответствующие идентификаторам из первого файла со значением первого столбца. Я не могу использовать Excel, потому что есть поле Verbatim, содержимое которого может быть свободным текстом и содержать CR+LF и т. д., что разрушает форматирование при открытии в Excel. Я хотел бы знать, можно ли написать/записать макрос для достижения этого. Все, что я могу придумать, это поиск идентификаторов (полученных из file1) и поиск в первом столбце, расширение выделения и копирование данных. Не уверен, возможно ли это или как это сделать.
В приведенном выше примере будут выбраны только две строки из-за идентификатораABHA-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,"
решение1
Вы пробовали поиск по регулярному выражению? Если это определенно первый столбец, в котором вы ищете, то это должно сработать:
^"ABHA-PHY49M".*$
- Первый символ
^
гарантирует, что поиск будет производиться только в начале строки. - Буквальные символы
"ABHA-PHY49M"
соответствуют строке, которую вы ищете. - Остальные символы
.*$
включают в себя всю остальную часть строки.
Результаты поиска, которые я получаю на основе вашего образца данных, выглядят правильно:
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,"
решение2
ЕстьПлагин SQLпозволяет выполнять команды базы данных SQL в файлах CSV. В вашем случае запрос будет:
select * from data where id="abha-phy49m"
если первый столбец называется "id" (команды нечувствительны к регистру). Это извлечет все строки из текущего файла, где id - "abha-phy49m"
EDIT: К сожалению, он преобразует выходной текст в нижний регистр