Board logo

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

作者: haichuan5121    时间: 2014-12-13 09:03     标题: 批处理如何在一堆CSV格式文件中 提取固定数据?

大仙半神们:
      求助,苦逼的我们每天都要做设备点检,每天很多数据需要手动抄录和整理;设备每半小时就生成一个csv文件,有没有办法从这些文件里提取固定的几个数据啊,最好自带绘图好、功能,将这些数据汇成对比曲线,如下图,数据 我只想要最下面几行的  KW:99.8   V:200  A:498    附件里是原始文本,里面有很多这个数据,大神们给俺参考下能实现吗?
作者: haichuan5121    时间: 2014-12-13 16:41

没有大神帮忙吗?
作者: DAIC    时间: 2014-12-13 17:34

在你上传的csv文件里面搜索不到 KW:99.8
作者: bailong360    时间: 2014-12-13 18:04

回复 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

本帖最后由 依山居 于 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试了一次。
作者: CrLf    时间: 2015-10-21 07:03

本帖最后由 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
复制代码





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