标题: [文本处理] 如何将一个csv文件里的内容根据每行中的日期时间按不同时间段输出到多个不同csv文件里 [打印本页]
作者: lhxlxy 时间: 2016-10-14 21:19 标题: 如何将一个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,,,,,,
作者: sishentibu 时间: 2016-10-14 21:54
- @echo off
- setlocal enabledelayedexpansion
- cd /d %~dp0
- echo.>1-1.csv
- echo.>1-2.csv
- echo.>1-3.csv
- for /f "tokens=1,* delims=:" %%i in (1.csv) do (
- set t=%%i
- set t1=!t:~-2!
- if "!t1!" leq "07" (
- echo !t!:%%j>>1-1.csv
- ) else if "!t1!" leq "19" (
- echo !t!:%%j>>1-2.csv) else if "!t1!" leq "24" echo !t!:%%j>>1-3.csv
- )
- pause
复制代码
写的有点繁琐
作者: pcl_test 时间: 2016-10-15 00:03
http://www.bathome.net/viewthread.php?tid=3328
http://www.bathome.net/thread-2189-1-1.html- @echo off&setlocal enabledelayedexpansion
- set csv="测试.csv"
- echo;>>%csv%
- set d=20161013
- for %%a in ("%d%,0[0-6]:" "%d%,0[7-9]: %d%,1[0-8]:" "%d%,19: %d%,2[0-3]:") do (
- set /a n+=1
- findstr %%a %csv%>"$!n!.csv"
- )
- pause
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |