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

TOP

标题

本帖最后由 wankoilz 于 2015-11-21 11:28 编辑

哦哦,刚才没仔细看,知道了
白天没时间,晚上用awk试试

TOP

标题

本帖最后由 wankoilz 于 2015-11-21 22:40 编辑

将excel文件导出为csv文件,然后用以下批处理脚本处理,可以统计得到一个半成品
将文件图标拖拽到脚本上执行,看看效果:
  1. # & cls & gawk -f %0 %1 & pause & exit
  2. BEGIN{
  3. FS=",| "
  4. check[1][1]=600;check[1][2]=730;check[1][3]=1110;check[1][4]=1230
  5. check[2][1]=1300;check[2][2]=1430;check[2][3]=1610;check[2][4]=1800
  6. check[3][1]=1830;check[3][2]=1910;check[3][3]=2100;check[3][4]=2200
  7. }
  8. {
  9. sub(/:/,"",$8)
  10. arr[$3" "$7]=arr[$3" "$7]""$8","
  11. }
  12. END{
  13. #将arr按姓名排序
  14. asorti(arr,ta)
  15. for(x in ta){
  16. gsub(","," ",arr[ta[x]])
  17. split(arr[ta[x]],arrTime," ")
  18. for(y in check){
  19. earlierFlag=0;laterFlag=0
  20. for(z in arrTime){
  21. if(arrTime[z]>=check[y][1]&&arrTime[z]<=check[y][2]){earlierFlag=1;earlierTime=arrTime[z]}
  22. if(arrTime[z]>=check[y][3]&&arrTime[z]<=check[y][4]){laterFlag=1;laterTime=arrTime[z]}
  23. }
  24. if(earlierFlag && laterFlag){
  25. sub(earlierTime,"",arr[ta[x]])
  26. sub(laterTime,"",arr[ta[x]])
  27. arr[ta[x]]=arr[ta[x]]" "earlierTime"-"laterTime
  28. }
  29. }
  30. }
  31. print "姓名,日期,开始时间,结束时间,标记" >>"result.csv"
  32. for(x in ta){
  33. split(arr[ta[x]],arrValue," ")
  34. for(y in arrValue){
  35. split(arrValue[y],arrTmp,"-")
  36. formatTime=""
  37. for(z in arrTmp){
  38. len=length(arrTmp[z])
  39. formatTime=formatTime","substr(arrTmp[z],1,len-2)":"substr(arrTmp[z],len-1,2)
  40. }
  41. if(length(formatTime)>6){formatTime=formatTime",1"}
  42. sub(" ",",",ta[x])
  43. print ta[x]""formatTime >>"result.csv"
  44. }
  45. }
  46. }
复制代码
gawk 4.1.0 下载地址:http://www.bathome.net/viewthread.php?tid=21366&highlight=gawk
1

评分人数

    • fcxk: 能不能直接处理表格文件,保留第一行标题行技术 + 1

TOP

有没有下载gawk?把gawk.exe和批处理放在一起。

TOP

回复 8# fcxk

不是直接双击执行,是通过拖拽图标执行的吧?

TOP

5楼代码更新了,但是单元格合并这个目前没办法,剩下的只需要用vbs调整一下格式
vbs操作excel我不熟悉

TOP

本帖最后由 wankoilz 于 2015-11-21 22:42 编辑

已添加表头
gawk.exe没办法直接处理excel文件
1

评分人数

TOP

返回列表