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

[文本处理] 如何将一个csv文件里的内容根据每行中的日期时间按不同时间段输出到多个不同csv文件里

[复制链接]
发表于 2016-10-14 21:19:21 | 显示全部楼层 |阅读模式
本帖最后由 pcl_test 于 2016-10-14 23:23 编辑

整理数据中有个CSV数据包含一整天的数据,现在要把它分成3个新的CSV文件 。按照时间(0点到7点,7点到19点,19点到0点 )进行分  应该怎么处理?
CSV中数据格式大概如下
VER,0,1,PCID,0,8,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,OK,,,DATE,TIME,,,,,,
VER,0,1,PCID,0,8,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,OK,,,20161013,00:01:00,,,,,,

评分

参与人数 1PB -2 收起 理由
pcl_test -2 未按版规发帖

查看全部评分

发表于 2016-10-14 21:54:10 | 显示全部楼层
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. cd /d %~dp0
  4. echo.>1-1.csv
  5. echo.>1-2.csv
  6. echo.>1-3.csv
  7. for /f "tokens=1,* delims=:" %%i in (1.csv) do (
  8.         set t=%%i
  9.         set t1=!t:~-2!
  10.         if "!t1!" leq "07" (
  11.                 echo !t!:%%j>>1-1.csv
  12.                 ) else if "!t1!" leq "19" (
  13.                 echo !t!:%%j>>1-2.csv) else if "!t1!" leq "24" echo !t!:%%j>>1-3.csv
  14.         )
  15. pause
复制代码
写的有点繁琐
发表于 2016-10-15 00:03:40 | 显示全部楼层
http://www.bathome.net/viewthread.php?tid=3328
http://www.bathome.net/thread-2189-1-1.html
  1. @echo off&setlocal enabledelayedexpansion
  2. set csv="测试.csv"
  3. echo;>>%csv%
  4. set d=20161013
  5. for %%a in ("%d%,0[0-6]:" "%d%,0[7-9]: %d%,1[0-8]:" "%d%,19: %d%,2[0-3]:") do (
  6.     set /a n+=1
  7.     findstr %%a %csv%>"$!n!.csv"
  8. )
  9. pause
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-17 07:26 , Processed in 0.012600 second(s), 10 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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