批处理、shell 中分析提取多行数据(csv格式)方法

原创 2013年12月05日 18:30:00

如果我们在批处理中要处理类似如下数据,我们可以用这个方法


data.csv
2,张三,80
4,李四,90


===== 结束 ======
@echo off
set file=data.csv
for %%i in (%file%) do (
    echo config = %%i 
    for /f "tokens=1-3 delims=," %%a in (%%i) do (
        echo 学号=%%a 名称=%%b 成绩=%%c
    )
)


结果如下
config = data.csv
学号=2 名称=张三 成绩=80
学号=4 名称=李四 成绩=90


======================= 分割线 =====================
如果你想把配置写在当前批处理中,可以试试这个方法
@echo off
set list="2,张三,80" "4,李四,90"
for %%i in (%list%) do (
    echo config = %%i 
    for /f "tokens=1-3 delims=," %%a in (%%i) do (
        echo 学号=%%a 名称=%%b 成绩=%%c
    )
)


得到
config = "2,张三,80"
学号=2 名称=张三 成绩=80
config = "4,李四,90"
学号=4 名称=李四 成绩=90


这里格式为: "ID,名称,成绩" 空格 "ID,名称,成绩"
我们先按空格分开各行数据,再在里面按逗号分割
双引号不能删,多行数据只能写在一行里面,因为批处理不支持变量有多行文字


======================= 分割线 =====================

在shell里面就简单明了多了

file=data.csv
IFS=","
while read id name score
do
    echo 学号=$id 名称=$name 成绩=$score
done <  $file


初步探索如何使用Visual C#调用Matlab

Matlab 2007a, 2007b, 2008a, 2008b等都对开发独立于Matlab运作平台的Matlab应用程序有很好的支持。网址mathworks.com/products/compil...

《Matlab C# Book》

 http://www.docin.com/p-46307588.html

asp.net中导出到Excel的方法汇总及导出Excel/Csv格式数据最优方案(C#)

一、asp.net中导出Execl的方法: 在asp.net中导出Execl有两种方法,一种是将导出的文件存放在服务器某个文件夹下面,然后将文件地址输出在浏览器上;一种是将文件直接将文件输出流写...

提取csv文件数据为dat格式

  • 2013年04月20日 19:24
  • 177B
  • 下载

Shell脚本批量添加CSV数据到MySQL

  • 2015年07月23日 15:05
  • 489KB
  • 下载

多行数据用json格式插入到一个字段中,然后再分别显示在不同表格增删改查

数据库

农商通数据条形码 CSV格式样本

  • 2015年07月07日 17:21
  • 6KB
  • 下载

shell 处理json格式数据

虽然shell处理json很不方便,不过我还是很执着的写出来了
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:批处理、shell 中分析提取多行数据(csv格式)方法
举报原因:
原因补充:

(最多只允许输入30个字)