19年9月2日汉川出差代码汇总

1,VBA代码:

Sub mname()
'批量修改多个excel内指定的工作表的表名
Dim filename As String, twb As Workbook '定义变量
Application.ScreenUpdating = False '关闭屏幕更新
Application.DisplayAlerts = False '不显示需要确定删除的警告信息
filename = Dir(ThisWorkbook.Path & "\xlsx\" & "*.xlsx")
'获得五座神山文件下的所有工作表的名字
Do While filename <> "" '若工作簿名字不为空,执行循环体;
fn = ThisWorkbook.Path & "\xlsx\" & filename  '设置fn为路径;
Set twb = Workbooks.Open(fn) '打开五座神山文件下的工作簿;
twb.Worksheets(1).Name = "Sheet1" '修改第一个工作表的表名为“神山小百科”
twb.Close True '保存并关闭工作簿
filename = Dir  '继续下一个工作簿
Loop
Application.DisplayAlerts = True '恢复提示警告信息
Application.DisplayAlerts = True  '开启提示
End Sub

2,脚本运行:ren *.xls *.xlsx

3,Python代码:

#!/usr/bin/env python
# -*- coding:utf-8 -*-
#导入正则模块
import re
#导入os模块,本例用它来做文件写入操作
import os
#导入日志模块
import logging
import logging.handlers
import xlwt
import xlrd
 
# 写txt的方法
def writeTxt(result):
    # 打开文件,a代表追加
    f=open(r'./result_****.txt','a', encoding='utf-8')
    #  f=open(r'D:/tmp/phoneDir/00_source/一无所有/result_一无所有.txt','a', encoding='utf-8')
    # 写入数据result
    f.write(result)
    # 关闭文件
    f.close()
 
# 遍历文件+采集手机号的方法
def count(dirname='D:/tmp/phoneDir/00_source/***/00txt'):
 
    #----------------------日志相关---------------------------
    #日志文件名,根据自己的需要改名字
    LOG_FILE = './classOne.log'
    handler = logging.handlers.RotatingFileHandler(LOG_FILE, maxBytes = 1024*1024, backupCount = 5)
    fmt = '%(asctime)s - %(filename)s:%(lineno)s - %(name)s - %(message)s'
    formatter = logging.Formatter(fmt)
    handler.setFormatter(formatter)
    logger = logging.getLogger('tst')
    logger.addHandler(handler)
    logger.setLevel(logging.DEBUG)
 
    #-----------------------正则--------------------------------
    #手机号正则
    pattern_mob = re.compile('1[3|4|5|7|8]\d{9}')
    #---------------------统计文件------------------------------
    # 记录文件总数的变量
    count=0
    # 记录含手机号文件数的变量
    num=0
    # 遍历文件夹下的所有文件,包括文件夹
    for root, dirs, files in os.walk(dirname):
        # 得到每个文件夹下文件数量
        fileLength = len(files)
        # -------------------将每个文件夹下的文件数量加到总数中
        count = count + fileLength
        for i in files:
            # 将文件名与路径拼接成全路径
            f = open(dirname+'/'+i,'r+', encoding='utf-8')
            # -----------------抓取手机号,正则查找文件里匹配的字符
            result = pattern_mob.findall(f.read())
            if result:
                # ---------------统计含手机号的文件数,如果result不为空,则说明含手机号,则num计数器加1
                num += 1
                # -------------------调用函数,将手机号写入文件
                writeTxt(str(result)+'\n')
 
    #--------------------将文件总数、有手机号的文件数写入日志
    logger.info("the total num is %s, the target num is %s",count,num)
 
# 主函数
if __name__ == '__main__':
    # 调用count()h函数
    count()

4:SQL代码:

SELECT * FROM cdr_log  a where a.calldate = (SELECT MIN(a.calldate))

SELECT a.dst , MIN(a.calldate) FROM cdr_log a WHERE a.calldate > '20190626' GROUP BY a.dst

SELECT * FROM cdr_log a WHERE  a.dst = '13387306853'
#所有联系方式初次打电话时间。
SELECT a.dst , MIN(a.calldate) FROM cdr_log a  GROUP BY a.dst

 

posted @ 2019-09-05 21:25  TonyHuang123  阅读(193)  评论(0编辑  收藏  举报