Board logo

标题: [文本处理] [分享]批处理对两列字符串分类统计求和 [打印本页]

作者: Batcher    时间: 2020-12-2 23:33     标题: [分享]批处理对两列字符串分类统计求和

【问题】
如何快速统计出编号2004-046里的有效类型数是5
  1. 所属卷号 序号
  2. 2004-046
  3. 2004-046
  4. 2004-046 3
  5. 2004-046 3
  6. 2004-046 3
  7. 2004-046 3
  8. 2004-046 3
  9. 2004-046 3
  10. 2004-046 3
  11. 2004-046 3
  12. 2004-046 3
  13. 2004-046 4
  14. 2004-046 5
  15. 2004-046 5
  16. 2004-046
  17. 2004-046
  18. 2004-046
  19. 2004-046 9
  20. 2004-046 9
  21. 2004-046 9
  22. 2004-046 9
  23. 2004-046 9
  24. 2004-046 9
  25. 2004-046 9
  26. 2004-046 9
  27. 2004-046 9
  28. 2004-046 9
  29. 2004-046 9
  30. 2004-046 9
  31. 2004-046 9
  32. 2004-046 9
  33. 2004-046 9
  34. 2004-046 9
  35. 2004-046 9
  36. 2004-046 9
  37. 2004-046 10
  38. 2004-046 10
  39. 2004-046 10
  40. 2004-046 10
复制代码
【代码】
把原本保存在Excel里面的数据复制粘贴到 1.txt 里面(默认以制表符作为列分隔符),然后执行:
test.bat
  1. @echo off
  2. for /f "skip=1 tokens=1-3 delims=- " %%a in ('type "1.txt"') do (
  3.     if "%%c" neq "" (
  4.         if not defined %%a_%%b_%%c (
  5.             set /a _%%a_%%b+=1
  6.             set %%a_%%b_%%c=1
  7.         )
  8.     )
  9. )
  10. (for /f "tokens=1-3 delims=_=" %%a in ('set _') do (
  11.     echo %%a-%%b,%%c
  12. ))>"2.csv"
复制代码
请参考Q-04和Q-05把bat文件和txt文件都保存为ANSI编码:
https://mp.weixin.qq.com/s/6lbb97qUOs1sTyKJfN0ZEQ




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