[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 批处理怎样提取“Serial”列不重复值或者只有一个重复值所在行,生成新的文件

文件夹内很多csv文件, 提取文件内“Serial”列不重复值或者只有一个重复值所在行,生成新的文件.xlsx
附件上传不了, 下面是csv文件内容

Date        ModelName                         MachineID        LotNo        Tester Serial        Serial        Test Pass        XY        2D ID
2023/7/12 1:44        POR_AD6_B        ETS110        6.00003E+11        T000010303        18        1                2.60077E+11
2023/7/12 2:02        POR_AD6_B        ETS110        6.00003E+11        T000010303        241        1                2.60077E+11
2023/7/12 2:03        POR_AD6_B        ETS110        6.00003E+11        T000010303        269        1                2.60077E+11
2023/7/12 2:03        POR_AD6_B        ETS110        6.00003E+11                                269        3                2.60077E+11
2023/7/12 2:05        POR_AD6_B        ETS110        6.00003E+11                                313        3                2.60077E+11
2023/7/12 2:05        POR_AD6_B        ETS110        6.00003E+11                                324        3                2.60077E+11
2023/7/12 2:08        POR_AD6_B        ETS110        6.00003E+11                                413        3                2.60077E+11
2023/7/12 2:12        POR_AD6_B        ETS110        6.00003E+11                                413        3                2.60077E+11
2023/7/12 2:16        POR_AD6_B        ETS110        6.00003E+11                                413        3                2.60077E+11
2023/7/12 2:17        POR_AD6_B        ETS110        6.00003E+11                                413        3                2.60077E+11

提取serial号不重复的
Date        ModelName                         MachineID        LotNo        Tester Serial        Serial        Test Pass        XY        2D ID
2023/7/12 1:44        POR_AD6_B        ETS110        6.00003E+11        T000010303        18        1                2.60077E+11
2023/7/12 2:02        POR_AD6_B        ETS110        6.00003E+11        T000010303        241        1                2.60077E+11
2023/7/12 2:05        POR_AD6_B        ETS110        6.00003E+11                                313        3                2.60077E+11
2023/7/12 2:05        POR_AD6_B        ETS110        6.00003E+11                                324        3                2.60077E+11


提取serial号不重复的和只有一个重复的
Date        ModelName                         MachineID        LotNo        Tester Serial        Serial        Test Pass        XY        2D ID
2023/7/12 1:44        POR_AD6_B        ETS110        6.00003E+11        T000010303        18        1                2.60077E+11
2023/7/12 2:02        POR_AD6_B        ETS110        6.00003E+11        T000010303        241        1                2.60077E+11
2023/7/12 2:03        POR_AD6_B        ETS110        6.00003E+11        T000010303        269        1                2.60077E+11
2023/7/12 2:03        POR_AD6_B        ETS110        6.00003E+11                                269        3                2.60077E+11
2023/7/12 2:05        POR_AD6_B        ETS110        6.00003E+11                                313        3                2.60077E+11
2023/7/12 2:05        POR_AD6_B        ETS110        6.00003E+11                                324        3                2.60077E+11

把上面的文本中的空格整理成Tab后(不准确,需要上传csv),大概用powershell写了一个,如果安装了importexcel模块可以直接export-excel,没装就需要用com操作excel打开csv另存xlsx
  1. cat .\a.csv | ConvertFrom-Csv -Delimiter "`t" | group Serial | % {if($_.Count -le 2){$_.Group}} | Export-Csv out.csv
复制代码

TOP

回复 1# luke2


    请把文件上传到网盘
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

返回列表