利用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 中的列表解析和生成表达式
Mar 10 Python
Windows下为Python安装Matplotlib模块
Nov 06 Python
Python判断文本中消息重复次数的方法
Apr 27 Python
python字典多键值及重复键值的使用方法(详解)
Oct 31 Python
python清理子进程机制剖析
Nov 23 Python
Django重装mysql后启动报错:No module named ‘MySQLdb’的解决方法
Apr 22 Python
JSON文件及Python对JSON文件的读写操作
Oct 07 Python
Django管理员账号和密码忘记的完美解决方法
Dec 06 Python
快速解决vue.js 模板和jinja 模板冲突的问题
Jul 26 Python
python 发送json数据操作实例分析
Oct 15 Python
使用python的turtle绘画滑稽脸实例
Nov 21 Python
python pycharm最新版本激活码(永久有效)附python安装教程
Sep 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(8) php 数组
2010/03/05 PHP
php利用gd库为图片添加水印
2016/11/09 PHP
php获取POST数据的三种方法实例详解
2016/12/20 PHP
[原创]PHP获取数组表示的路径方法分析【数组转字符串】
2017/09/01 PHP
php抽象类和接口知识点整理总结
2019/08/02 PHP
JQuery 学习笔记 选择器之一
2009/07/23 Javascript
JavaScript 弹出窗体点击按钮返回选择数据的实现
2010/04/01 Javascript
基于编写jQuery的无缝滚动插件
2014/08/02 Javascript
Bootstrap的Refresh Icon也spin起来
2016/07/13 Javascript
JS中对Cookie的操作详解
2016/08/05 Javascript
AutoJs实现刷宝短视频的思路详解
2020/05/22 Javascript
[03:59]第二届DOTA2亚洲邀请赛选手传记-VGJ.rOtk
2017/04/03 DOTA
[02:01]2018完美盛典-开场舞《双子星》
2018/12/16 DOTA
python定时器使用示例分享
2014/02/16 Python
python发送邮件功能实现代码
2016/07/15 Python
Python设计模式之命令模式简单示例
2018/01/10 Python
Python中defaultdict与lambda表达式用法实例小结
2018/04/09 Python
tensorflow saver 保存和恢复指定 tensor的实例讲解
2018/07/26 Python
基于wxPython的GUI实现输入对话框(1)
2019/02/27 Python
使用Python进行体育竞技分析(预测球队成绩)
2019/05/16 Python
python requests指定出口ip的例子
2019/07/25 Python
Pandas数据离散化原理及实例解析
2019/11/16 Python
python datetime时间格式的相互转换问题
2020/06/11 Python
python 列表推导和生成器表达式的使用
2021/02/01 Python
浅析Python模块之间的相互引用问题
2021/02/26 Python
国际商务系学生个人的自我评价
2013/11/26 职场文书
汽车维修专业个人求职信范文
2014/01/01 职场文书
学习“七一”讲话精神体会
2014/07/08 职场文书
合作协议书模板2014
2014/09/26 职场文书
学校政风行风自查自纠报告
2014/10/21 职场文书
店面出租协议书范本
2014/11/28 职场文书
2015年预防青少年违法犯罪工作总结
2015/05/22 职场文书
纪律委员竞选稿
2015/11/19 职场文书
歌咏比赛口号大全
2015/12/25 职场文书
Dubbo+zookeeper搭配分布式服务的过程详解
2022/04/03 Java/Android
Nginx如何获取自定义请求header头和URL参数详解
2022/07/23 Servers