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

[文本处理] 批处理如何在一堆CSV格式文件中 提取固定数据?

[复制链接]
发表于 2014-12-13 09:03:31 | 显示全部楼层 |阅读模式
大仙半神们:
      求助,苦逼的我们每天都要做设备点检,每天很多数据需要手动抄录和整理;设备每半小时就生成一个csv文件,有没有办法从这些文件里提取固定的几个数据啊,最好自带绘图好、功能,将这些数据汇成对比曲线,如下图,数据 我只想要最下面几行的  KW:99.8   V:200  A:498    附件里是原始文本,里面有很多这个数据,大神们给俺参考下能实现吗?
 楼主| 发表于 2014-12-13 16:41:00 | 显示全部楼层
没有大神帮忙吗?
发表于 2014-12-13 17:34:30 | 显示全部楼层
在你上传的csv文件里面搜索不到 KW:99.8
发表于 2014-12-13 18:04:54 | 显示全部楼层
回复 3# DAIC

看了半天,发现原来藏在这里......
S3 CA32 DC Power1,[kW],100,99.8,99.7,99.9,,,,,,,
S3 CA32 DC Current1,[A],,200,192,219,,,,,,,
S3 CA32 DC Voltage1,[V],,498,455,517,,,,,,,
发表于 2015-10-21 04:14:41 | 显示全部楼层
本帖最后由 依山居 于 2015-10-21 04:35 编辑

python

  1. fawk=open("361.csv","r")
  2. for line in fawk.readlines():
  3.     l=line.split(",")
  4.    
  5.     if "kW" in l[1] and "99.8" in l[3]:
  6.         print(l[1],l[3])
  7.     elif "200" in l[3] and "A" in l[1]:
  8.         print(l[1],l[3])
  9.     elif "498" in l[3] and "V" in l[1]:
  10.         print(l[1],l[3])
复制代码
输出:
  1. [kW] 99.8
  2. [A] 200
  3. [V] 498
  4. [kW] 99.8
  5. [A] 200
  6. [kW] 99.8
  7. [kW] 99.8
复制代码
学着用awk没上手。还是用python试了一次。
发表于 2015-10-21 07:03:52 | 显示全部楼层
本帖最后由 CrLf 于 2015-10-21 07:05 编辑
  1. @echo off
  2. for /f "tokens=2,3 delims=," %%a in ('findstr /l "[kw] [a] [v]" 361.csv') do (
  3.   for /f "delims=[]" %%a in ("%%a") do echo %%a:%%b
  4. )
  5. pause
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-18 07:47 , Processed in 0.014214 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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