利用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中的__new__()方法的使用
Apr 09 Python
python&MongoDB爬取图书馆借阅记录
Feb 05 Python
简单了解Django模板的使用
Dec 20 Python
python删除不需要的python文件方法
Apr 24 Python
Python3.4 splinter(模拟填写表单)使用方法
Oct 13 Python
python找出完数的方法
Nov 12 Python
Python程序打包工具py2exe和PyInstaller详解
Jun 28 Python
Python日志无延迟实时写入的示例
Jul 11 Python
python将邻接矩阵输出成图的实现
Nov 21 Python
Python递归实现打印多重列表代码
Feb 27 Python
基于logstash实现日志文件同步elasticsearch
Aug 06 Python
Python下opencv使用hough变换检测直线与圆
Jun 18 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获取网卡的MAC地址支持WIN/LINUX系统
2014/04/30 PHP
yii实现图片上传及缩略图生成的方法
2014/12/04 PHP
PHP通过串口实现发送短信
2015/07/08 PHP
PHP 断点续传实例详解
2017/11/11 PHP
laravel 出现command not found问题的解决方案
2019/10/23 PHP
鼠标移动到图片名上,显示图片的简单实例
2013/07/14 Javascript
js关闭浏览器窗口及检查浏览器关闭事件
2013/09/03 Javascript
php跨域调用json的例子
2013/11/13 Javascript
jQuery中map()方法用法实例
2015/01/06 Javascript
jQuery中siblings()方法用法实例
2015/01/08 Javascript
JavaSacript中charCodeAt()方法的使用详解
2015/06/05 Javascript
浅谈JavaScript中的Math.atan()方法的使用
2015/06/14 Javascript
jQuery实现点击小图片淡入淡出显示大图片特效
2015/09/09 Javascript
原生JavaScript实现动态省市县三级联动下拉框菜单实例代码
2016/02/03 Javascript
微信小程序之网络请求简单封装实例详解
2017/06/28 Javascript
vue.js组件之间传递数据的方法
2017/07/10 Javascript
微信小程序获取微信运动步数的实例代码
2017/07/20 Javascript
js遍历添加栏目类添加css 再点击其它删除css【推荐】
2018/06/12 Javascript
简单了解常用的JavaScript 库
2020/07/16 Javascript
Python中文件操作简明介绍
2015/04/13 Python
在Python的gevent框架下执行异步的Solr查询的教程
2015/04/16 Python
在CentOS6上安装Python2.7的解决方法
2018/01/09 Python
python使用selenium实现批量文件下载
2019/03/11 Python
Python 生成器,迭代,yield关键字,send()传参给yield语句操作示例
2019/10/12 Python
python模拟斗地主发牌
2020/04/22 Python
百丽国际旗下购物网站:优购
2017/02/28 全球购物
LEGO玩具英国官方商店:LEGO Shop GB
2018/03/27 全球购物
英国领先的瓷砖专家:Walls and Floors
2018/04/27 全球购物
新西兰床上用品和家居用品购物网站:Adairs
2018/04/27 全球购物
行政助理岗位职责范文
2013/12/03 职场文书
学校评语大全
2014/05/06 职场文书
校园元旦活动总结
2014/07/09 职场文书
给老婆的保证书
2015/01/16 职场文书
2015年小班保育员工作总结
2015/05/27 职场文书
教学反思怎么写
2016/02/24 职场文书
PHP中strval()函数实例用法
2021/06/07 PHP