Я хотел бы искать файл только по первому столбцу на основе набора идентификаторов из другого файла. Скопируйте и вставьте результаты в другой выходной файл.

Например ,

Мой первый файл содержит

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,"

2 ответа2

0

Вы пробовали поиск по регулярному выражению? Если это определенно первый столбец, в котором вы ищете, то это должно сработать:

^"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,"
0

Существует плагин SQL, позволяющий выполнять команды базы данных SQL в файлах CSV. В вашем случае запрос будет:

 select * from data where id="abha-phy49m"

если первый столбец называется "id" (команды не чувствительны к регистру). Это будет получать все строки из текущего файла, где идентификатор "abha-phy49m"

РЕДАКТИРОВАТЬ: К сожалению, он преобразует выходной текст в нижний регистр

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .