我想根据另一个文件中的一组 ID 仅在第一列上搜索文件。将结果复制并粘贴到另一个输出文件中。
例如 ,
我的第一个文件包含
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 打开时破坏格式。我想知道我们是否可以编写/录制宏来实现这一点。我能想到的就是搜索 id(从文件 1 获得)并在第一列中搜索,扩展选择并复制数据。不确定这是否可行或如何做到。
在上面的例子中,由于 Id,只会选择两行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 插件允许在 CSV 文件中执行 SQL 数据库命令。对于您的情况,查询将是:
select * from data where id="abha-phy49m"
如果第一列名为“id”(命令不区分大小写)。这将从当前文件中检索 id 为“abha-phy49m”的所有行
编辑:不幸的是,它将输出文本转换为小写