Board logo

标题: [文本处理] 批处理如何循环提取CSV指定表格的文件内容,并输出? [打印本页]

作者: cqy931    时间: 2022-10-25 12:04     标题: 批处理如何循环提取CSV指定表格的文件内容,并输出?

姓名        年龄        性别        工作地方
张三        22        男        北京
李四        25        男        上海

例如:当D2值不为空时,提取D2(北京)内容,并输出D2的值,然后在判断E2值不为空时,提取D3(上海)内容,并输出D3的值,以此类推,直达下一个值为空时停止,求助大佬!!!
作者: Batcher    时间: 2022-10-25 16:19

回复 1# cqy931


请参考Q-04和Q-05把bat文件和csv文件都保存为ANSI编码:
https://mp.weixin.qq.com/s/Koje4FufWxWBs7ioDy_LJA
  1. @echo off
  2. cd /d "%~dp0"
  3. for /f "skip=1 tokens=4 delims=," %%i in ('type "input.csv"') do (
  4.     echo,%%i
  5. )
  6. pause
复制代码

作者: hfxiang    时间: 2022-10-26 16:24

假设待处理文件为“1.csv”,输出文件为“2.txt”,用第3方工具gawk( http://bcn.bathome.net/tool/4.1.0/gawk.exe )可实现:
  1. gawk -F"," "NR>1{print $4;if(!$5)exit}" 1.csv>2.txt
复制代码
注意,如果要直接在屏幕上显示,则代码如下:
  1. gawk -F"," "NR>1{print $4;if(!$5)exit}" 1.csv>con
复制代码





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