Board logo

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

作者: luke2    时间: 2023-8-9 21:31     标题: 批处理怎样提取“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
作者: Batcher    时间: 2023-8-9 21:52

回复 1# luke2


    请把文件上传到网盘
作者: wanghan519    时间: 2023-8-10 04:04

把上面的文本中的空格整理成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
复制代码





欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2