[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

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

本帖最后由 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,,,,,,
1

评分人数

  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
复制代码
写的有点繁琐

TOP

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
复制代码

TOP

返回列表