利用python对Excel中的特定数据提取并写入新表的方法


Posted in Python onJune 14, 2018

最近刚开始学python,正好实习工作中遇到对excel中的数据进行处理的问题,就想到利用python来解决,也恰好练手。

实际的问题是要从excel表中提取日期、邮件地址和时间,然后统计在一定时间段内某个人在某个项目上用了多少时间,最后做成一张数据透视表(这是问题的大致意思)。

首先要做的就是数据提取了,excel中本身有一个text to column的功能,但是对列中规律性不好的数据处理效果很差,不能分割出想要的数据,所以我果断选择用python来完成。

要用的库一个是对excel读写处理的,一个事正则表达式的库。

因为xlwt和xlrd只能对03版以前的excel处理,所以我选择了openpyxl。

以下代码就是自己敲的,写了对日期和邮件地址的提取,最后出来效果不错,仅供大家参考,欢迎交流与改进。

import openpyxl
import re

def Exceldivide(file_dir):
 wb=openpyxl.load_workbook(file_dir)   #打开原有的excel表
 sheet=wb.get_sheet_by_name('Sheet1')
 tuple(sheet['A1':'C3'])

 wb.create_sheet('Sheet2')     #新建一个表
 sheet2=wb.get_sheet_by_name('Sheet2')
 tuple(sheet2['A1':'C3'])

 L1=re.compile(r'\d\d/\d\d/\d\d\d\d')  #日期格式
 L2=re.compile(r'[a-zA-Z0-9_]+@[a-zA-Z0-9-]+.com') #邮件格式
 l1=[]
 l2=[]
 for rows in sheet['A1':'C3']:   #提取日期和邮件数据
  for cell in rows:
   A=L1.search(cell.value)
   a=A.group()
   B=L2.search(cell.value)
   b=B.group()
 for rows in sheet2['A1':'A9']:   #把日期数据写入新表
 for cell in rows:
  cell.value=a
  print(cell.coordinate,cell.value)
 for rows in sheet2['B1':'B9']:  #把邮件数据写入新表  
 for cell in rows:
  cell.value=b
  print(cell.coordinate,cell.value)
 return wb

g=Exceldivide('C:\\Users\\Desktop\\111_copy.xlsx')
g.save('C:\\Users\\Desktop\\111_copy.xlsx') #保存

以上这篇利用python对Excel中的特定数据提取并写入新表的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python的类变量和成员变量用法实例教程
Aug 25 Python
Python实现Const详解
Jan 27 Python
python实现批量按比例缩放图片效果
Mar 30 Python
Python创建普通菜单示例【基于win32ui模块】
May 09 Python
python处理multipart/form-data的请求方法
Dec 26 Python
python调用matplotlib模块绘制柱状图
Oct 18 Python
基于Python3.7.1无法导入Numpy的解决方式
Mar 09 Python
python实现对变位词的判断方法
Apr 05 Python
Python 合并拼接字符串的方法
Jul 28 Python
python Xpath语法的使用
Nov 26 Python
通过python-pptx模块操作ppt文件的方法
Dec 26 Python
python基于opencv实现人脸识别
Jan 04 Python
Python基于最小二乘法实现曲线拟合示例
Jun 14 #Python
详解python之协程gevent模块
Jun 14 #Python
python 筛选数据集中列中value长度大于20的数据集方法
Jun 14 #Python
浅谈Tensorflow由于版本问题出现的几种错误及解决方法
Jun 13 #Python
tensorflow: 查看 tensor详细数值方法
Jun 13 #Python
终端命令查看TensorFlow版本号及路径的方法
Jun 13 #Python
解决Tensorflow使用pip安装后没有model目录的问题
Jun 13 #Python
You might like
新版PHP极大的增强功能和性能
2006/10/09 PHP
为JavaScript提供睡眠功能(sleep) 自编译JS引擎
2010/08/16 Javascript
理解Javascript_02_理解undefined和null
2010/10/11 Javascript
js实时获取系统当前时间实例代码
2013/06/28 Javascript
js简单实现删除记录时的提示效果
2013/12/05 Javascript
javascript 操作符(~、&、|、^、)使用案例
2014/12/31 Javascript
JavaScript 异常处理 详解
2015/02/06 Javascript
JS实现让访问者自助选择网页文字颜色的方法
2015/02/24 Javascript
jquery合并表格中相同文本的相邻单元格
2015/07/17 Javascript
JS脚本根据手机浏览器类型跳转WAP手机网站(两种方式)
2015/08/04 Javascript
jQuery+css实现炫目的动态块漂移效果
2016/01/28 Javascript
js监听键盘事件的方法_原生和jquery的区别详解
2016/10/10 Javascript
Bootstrap警告(Alerts)的实现方法
2017/03/22 Javascript
JavaScript中的遍历详解(多种遍历)
2017/04/07 Javascript
jQuery选择器中的特殊符号处理方法
2017/09/08 jQuery
深入理解node.js http模块
2018/01/24 Javascript
从vue基础开始创建一个简单的增删改查的实例代码(推荐)
2018/02/11 Javascript
详解Vue SPA项目优化小记
2018/07/03 Javascript
其实你可以少写点if else与switch(推荐)
2019/01/10 Javascript
[28:05]完美世界DOTA2联赛循环赛Inki vs DeMonsTer 第一场 10月30日
2020/10/31 DOTA
Python利用IPython提高开发效率
2016/08/10 Python
Python实现桶排序与快速排序算法结合应用示例
2017/11/22 Python
python 3.6.5 安装配置方法图文教程
2018/09/18 Python
pytorch dataloader 取batch_size时候出现bug的解决方式
2020/02/20 Python
windows下Pycharm安装opencv的多种方法
2020/03/05 Python
最新PyCharm从安装到PyCharm永久激活再到PyCharm官方中文汉化详细教程
2020/11/17 Python
使用CSS3来匹配横屏竖屏的简单方法
2015/08/04 HTML / CSS
使用CSS3实现SVG路径描边动画效果入门教程
2019/10/21 HTML / CSS
美国时尚假发购物网站:Wigsbuy
2019/04/06 全球购物
大学本科毕业生的自我鉴定
2013/11/26 职场文书
弘扬民族精神演讲稿
2014/05/07 职场文书
公司员工离职感言
2015/08/03 职场文书
军训决心书范文
2015/09/22 职场文书
2016年幼儿园万圣节活动总结
2016/04/05 职场文书
Python函数中的不定长参数相关知识总结
2021/06/24 Python
如何创建一个创建MySQL数据库中的datetime类型
2022/03/21 MySQL