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

[文本处理] 求助批处理CSV文本去重复,仅保留数字开头的行前三列

[复制链接]
发表于 2024-8-16 17:41:08 | 显示全部楼层
回复 10# haichuan5121


   重定向 > 也改了吧...如果需要追加,把结果放到其它目录去。
 楼主| 发表于 2024-8-19 10:36:03 | 显示全部楼层
回复 12# qixiaobin0715


    大哥误会了;小弟所有文本格式都是统一的;单文本就是TXT小插件转换后的CSV;样本完全一致; 需要执行的文本是多个类似CSV文件,不是单个CSV长文本,每个文本需要保留的是文本带数字部分前三列且不重复;
比如 A文本数字编号1-6有两遍 只保留一遍就行;第B文本和A不冲突,B文本也仅保留1-6标号的前三列;B文本和A文本之间的重复不需要去;
A文件内容
Function        SHEET       
Curr.Range        AUTO       
Volt Range        AUTO       
No        X-Point        Y-Point
1        80.2        16.8
2        270.8        16.8
3        448.3        16.8
4        678.5        16.8
5        875.4        16.8
6        1038.1        16.8
1        80.2        16.8
2        270.8        16.8
3        448.3        16.8
4        678.5        16.8
5        875.4        16.8
6        1038.1        16.8
B文件内容
Function        SHEET       
Curr.Range        AUTO       
Volt Range        AUTO       
No        X-Point        Y-Point
1        34.2        23.8
2        240.8        26.8
3        428.3        15.8
4        678.5        16.8
5        875.4        16.8
6        1038.1        16.8
1        34.2        23.8
2        240.8        26.8
3        428.3        15.8
4        678.5        16.8
5        875.4        16.8
6        1038.1        16.8

结果内容替换或新生产都行
        No        X-Point        Y-Point
A        1        80.2        16.8
A        2        270.8        16.8
A        3        448.3        16.8
A        4        678.5        16.8
A        5        875.4        16.8
A        6        1038.1        16.8
        No        X-Point        Y-Point
B        1        34.2        23.8
B        2        240.8        26.8
B        3        428.3        15.8
B        4        678.5        16.8
B        5        875.4        16.8
B        6        1038.1        16.8
发表于 2024-8-19 10:57:41 | 显示全部楼层
不是大家误会你了,而是你自说自话,自己没有说清楚,每次描述都不一样。让你上传文件,好像有多费劲似的,表达又不完整:
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. (for /f "delims=" %%a in ('dir /b /a-d *.csv') do (
  4.     echo,Filename,No,X-Point,Y-Point
  5.     set n=1
  6.     for /f "tokens=1-3 delims=," %%i in ('type "%%a"') do (
  7.         if !n! equ %%i (
  8.             echo,%%~na,%%i,%%j,%%k
  9.             set /a n+=1
  10.         )
  11.     )
  12. ))>out.csv
  13. pause
复制代码

评分

参与人数 1技术 +1 收起 理由
haichuan5121 + 1 神技

查看全部评分

发表于 2024-8-19 10:58:14 | 显示全部楼层
A文件内容
Function        SHEET        
Curr.Range        AUTO        
Volt Range        AUTO        
No        X-Point        Y-Point
1        80.2        16.8
2        270.8        16.8
3        448.3        16.8
4        678.5        16.8
5        875.4        16.8
6        1038.1        16.8
1        80.2        16.8
2        270.8        16.8
3        448.3        16.8
4        678.5        16.8
5        875.4        16.8
6        1038.1        16.8

这个每列之间的分隔符,是若干个空格,还是tab,还是逗号

如果是逗号,为什么要把逗号去掉再发出来?

生成的结果文件的分隔符,需要是若干个空格,还是tab,还是逗号?
发表于 2024-8-19 11:00:53 | 显示全部楼层
光是猜你的源文件的格式就费老大的劲
甚至有时候还有文件编码格式是gbk还是utf8的
你弄个百度网盘,把两三个原文件,和需要的结果文件,放网盘,不行么?
 楼主| 发表于 2024-8-19 11:36:13 | 显示全部楼层
回复 18# qixiaobin0715


    跪谢大神   这次是想要的结果
 楼主| 发表于 2024-8-19 11:39:55 | 显示全部楼层
回复 20# czjt1234


    不好意思大哥们  ,公司内网文件加密了,限制复制和上传文件了,要么也不会让大哥们各种猜测了;谢谢各位  18楼大神已经给解了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 21:07 , Processed in 0.010219 second(s), 7 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表