62705300019623531 0000009200AR000000027283 希尔,克莱
62705300019623531 0000009200AR000000046485 希尔,克莱
62705300019623531 0000009200AR000000027787 希尔,多丽丝 M
就像我发布的文件一样,我有一个巨大的文件,其中包含不同的重复名称,例如,我想删除 Hill Clay 的第二个行项目,即使其他数字不重复,我只需要第一个记录(行项目)并删除包含相同名字和姓氏的行。在 Excel 中,我可以突出显示列并删除重复项,但它对我来说不起作用,即使我使用标记全部或 RegRex 位置?也许我使用了错误的路径或公式?请指教!
答案1
这不是编辑器的任务,尽管它可以通过 np++(python)脚本来完成。
我宁愿建议使用 awk 解释器(您可以下载原生 Windows 可执行文件):
创建 script.awk,内容如下:
{ name=gensub(/^[0-9A-Z]+ [0-9A-Z]+ /, "", 1) }
$1 == oldnum && name==oldname {next}
{ print $0, oldnum=$1; oldname=name}
然后运行
awk -f script.awk yourfile.txt > output.txt
让我们看看如何在 np++ 中使用 Python 脚本来实现这一点。假设安装了 Python 脚本插件和 Python 解释器,您可以通过选择插件->Python 脚本->新脚本(必须保留标识级别)来编写此代码:
from Npp import *
content = editor.getText()
newcontent = ""
oldnum=""
oldname=""
for line in content.splitlines():
fields = line.split( None, 2)
if fields[0] != oldnum or fields[2] != oldname:
newcontent += line + "\n"
oldnum = fields[0]
oldname = fields[2]
editor.clearAll()
editor.appendText( newcontent)
只需将其命名为去重。
将您的数据文件加载到选项卡中,然后在该选项卡中选择插件->Python 脚本->脚本->dedup ...,现在应该没问题了。