自动化办公案例

目标:

1 一堆文本信息中提取出手机号码

2 电话号码存储到 Excel 中

3 文本中提取邮箱

4 一堆图片,让我加上公司水印

5 清理重复文件

6 文本到底有多少个中文字符

7 将网址生成二维码图片

8将图片生成 gif

9 翻译一份英文文档

10 提取视频的音频信息

 

 

  1. #读取目标文本文件
  2. def get_str(path):
  3. f = open(path,encoding="utf-8")
  4. data = f.read()
  5. f.close()
  6. return data
  7. import re
  8. #正则获取文本号码
  9. def get_phone_number(str):
  10. res = re.findall(r'(13\d{9}|14[5|7]\d{8}|15\d{9}|166{\d{8}|17[3|6|7]{\d{8}|18\d{9})', str)
  11. return res
  12. #保存得到号码
  13. def save_res(res,save_path):
  14. save_file = open(save_path, 'w')
  15. for phone in res:
  16. save_file.write(phone)
  17. save_file.write('\n')
  18. save_file.write('\n号码共计:'+str(len(res)))
  19. save_file.close()
  20. print('号码读取OK,号码共计:'+str(len(res)))
  21. # 调用代码
  22. path=input("请输入文件路径:")
  23. save_path=input("请输入文件保存路径:")
  24. #read_str=get_str(path)
  25. res=get_phone_number(get_str(path))
  26. save_res(res,save_path)

1 提取电话号码

  1. import xlwt
  2. #读取目标文本文件
  3. def get_str(path):
  4. f = open(path,encoding="utf-8")
  5. data = f.read()
  6. f.close()
  7. return data
  8. #保存为Excel文件
  9. def save_excel(save_path,sheetname,column_name_list,read_list):
  10. workbook = xlwt.Workbook()
  11. sheet1 = workbook.add_sheet(sheetname=sheetname)
  12. for i in range(0,len(column_name_list)):
  13. sheet1.write(0,i,column_name_list[i])
  14. i=1
  15. for v in read_list:
  16. kval=v.split('')
  17. for j in range(0,len(kval)):
  18. sheet1.write(i+1,j,kval[j])
  19. i=i+1
  20. workbook.save(save_path)
  21. print('信息保存 OK,记录条数共计:'+str(len(read_list)))
  22. # 调用代码
  23. path=input("请输入文件路径:")
  24. save_path=input("请输入文件保存路径:")
  25. sheet_name=input("请输入sheetname:")
  26. column_name=input("请输入列名,并且使用英文逗号隔开:")
  27. column_name_list=column_name.split(',')
  28. read_str=get_str(path)
  29. read_list=read_str.split('\n')
  30. save_excel(save_path,sheet_name,column_name_list,read_list)

2 将电话号码,存储至Excel

  1. import re
  2. #正则获取目标信息
  3. def get_re_str(str):
  4. res = re.findall(r'^[A-Za-z0-9\u4e00-\u9fa5]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$', str)
  5. return res
  6. #读取目标文本文件
  7. def get_str(path):
  8. f = open(path,encoding="utf-8")
  9. data = f.read()
  10. f.close()
  11. return data
  12. #保存得到的信息
  13. def save_res(res,save_path):
  14. save_file = open(save_path, 'w')
  15. for phone in res:
  16. save_file.write(phone)
  17. save_file.write('\n')
  18. save_file.close()
  19. print('信息读取OK,信息共计:'+str(len(res)))
  20. path=input("请输入文件路径:")
  21. save_path=input("请输入文件保存路径:")
  22. #read_str=get_str(path)
  23. res=get_re_str(get_str(path))
  24. save_res(res,save_path)

3 邮箱提取

  1. #安装好 opencv 库
  2. import cv2
  3. import os
  4. path=input("请输入需要加水印的文件夹路径:")
  5. file_list = os.listdir(path)
  6. for filename in file_list:
  7. img1 = cv2.imread(path+filename,cv2.IMREAD_COLOR)
  8. cv2.putText(img1,'CSDN',(10,10) , 1, 1, (255,255,255),1) #图片,文字,位置,字体,字号,颜色,厚度
  9. cv2.imwrite(path+filename, img1)

4 图片加上logo水印

  1. #如何去删除重复文件呢?没错,是使用文件的 md5 值进行对照,相同文件的 #md5 值一样,只需要遍历该目录的文件 md5 值,若出现重复 md5 则删除#该文件即可
  2.  
  3. import hashlib,os
  4. def getMD5(filepath):
  5. f = open(filepath,'rb')
  6. md5obj = hashlib.md5()
  7. md5obj.update(f.read())
  8. hash = md5obj.hexdigest()
  9. f.close()
  10. return str(hash).upper()
  11. path=input("请输入需要重复文件过滤文件夹路径:")
  12. file_list = os.listdir(path)
  13. file_md5=[]
  14. for filename in file_list:
  15. md5val=getMD5(path+filename)
  16. if md5val in file_md5:
  17. os.remove(path+filename)
  18. else:
  19. file_md5.append(md5val)
  20. print("处理完毕...")

5 MD5清理重复文件

  1. #读取目标文本文件
  2. def get_str(path):
  3. f = open(path)
  4. data = f.read()
  5. f.close()
  6. return data
  7. path=input("请输入文件路径:")
  8. word=re.findall('([\u4e00-\u9fa5])',get_str(path))
  9. print("中文字符,除特殊字符外共:",len(word))

6 统计中文字符

  1. import qrcode
  2. qr = qrcode.QRCode(
  3. version=2,#尺寸
  4. error_correction=qrcode.constants.ERROR_CORRECT_L,#容错信息当前为 7% 容错
  5. box_size=10,#每个格子的像素大小
  6. border=1#边框格子宽度
  7. )#设置二维码的大小
  8. qr.add_data("https://www.csdn.net/")#指定 url
  9. img = qr.make_image()#生成二维码图片
  10. img.save("F:\work\day7\csdn.png")#保存

7 生成二维码

  1. import imageio
  2. image_list = [r'F:\work\day4\1.png', r'F:\work\day4\2.png']
  3. gif_name = r'F:\work\day4\gif.gif'
  4. frames = []
  5. for image_name in image_list:
  6. frames.append(imageio.imread(image_name))
  7. #gif_name 保存路径信息、frames 图片信息、‘GIF’ 生成图片类型以及 gif #图的切换秒数 duration 参数为 2
  8. imageio.mimsave(gif_name, frames, 'GIF', duration=2)

8 制作git图片

  1. from translate import Translator
  2. translator = Translator(to_lang="Chinese")
  3. def get_str(path):
  4. f = open(path)
  5. data = f.read()
  6. f.close()
  7. return data
  8. path=input("请输入文件路径:")
  9. text=get_str(path)
  10. translation = translator.translate(text)
  11. print(translation)

9 翻译一份英文文档

  1. #对视频进行操作可以使用 moviepy 库
  2. from moviepy.editor import AudioFileClip
  3. #随后使用 AudioFileClip 获取视频信息
  4. my_audio_clip = AudioFileClip("E:\PyVedio\py02.mp4")
  5. #视频的音频写入到文件
  6. my_audio_clip.write_audiofile("E:\PyVedio\py02.wav")

10 视频中提取音频

 

 

 

 

 

 

 

 

  • 上班第一天,老板叫我从一堆文本信息中提取出手机号码,我改如何去做?
  • 上班第二天,领导叫我将第一天提取的电话号码存储到 Excel 中,我是如何快速解决的。
  • 上班第三天,今天叫我去文本中提取邮箱了,给了我一天时间,但我玩了半天才开始进行信息提取。
  • 上班第四天,今天同事给了我一堆图片,让我加上公司水印
  • 上班第五天,前同事的电脑中太多重复文件,领导让我清理重复文件精简信息。
  • 上班第六天,领导跟我说数一下这个文本到底有多少个中文字符
  • 上班第七天,帮助公司的美工小姐姐将网址生成二维码图片
  • 上班第八天,如何将图片生成 gif?我手到擒来。
  • 上班第九天,人事急匆匆的找到我让我急忙翻译一份英文文档,我立马答应下来。
  • 上班第十天,提取视频的音频信息并且升职加薪!

版权声明:本文为huahuawang原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/huahuawang/p/14911889.html