利用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 相关文章推荐
SQLite3中文编码 Python的实现
Jan 11 Python
python使用sqlite3时游标使用方法
Mar 13 Python
Python利用openpyxl库遍历Sheet的实例
May 03 Python
python3监控CentOS磁盘空间脚本
Jun 21 Python
Python 字符串转换为整形和浮点类型的方法
Jul 17 Python
Linux下python制作名片示例
Jul 20 Python
python 对给定可迭代集合统计出现频率,并排序的方法
Oct 18 Python
Python调用服务接口的实例
Jan 03 Python
python视频按帧截取图片工具
Jul 23 Python
40个你可能不知道的Python技巧附代码
Jan 29 Python
python中count函数简单的实例讲解
Feb 06 Python
使用keras实现Precise, Recall, F1-socre方式
Jun 15 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 xml文件操作实现代码(二)
2009/03/20 PHP
访问编码后的中文URL返回404错误的解决方法
2014/08/20 PHP
php实现阿拉伯数字和罗马数字相互转换的方法
2015/04/17 PHP
ThinkPHP3.2.2实现持久登录(记住我)功能的方法
2016/05/16 PHP
Jquery知识点二 jquery下对数组的操作
2011/01/15 Javascript
js通过更改按钮的显示样式实现按钮的滑动效果
2014/04/23 Javascript
javascript版的in_array函数(判断数组中是否存在特定值)
2014/05/09 Javascript
Jquery中offset()和position()的区别分析
2015/02/05 Javascript
jquery插件bxslider用法实例分析
2015/04/16 Javascript
js数组去重的5种算法实现
2015/11/04 Javascript
javascript获取select标签选中的值
2016/06/04 Javascript
vue.js,ajax渲染页面的实例
2018/02/11 Javascript
vuex state及mapState的基础用法详解
2018/04/19 Javascript
jQuery实现的滑块滑动导航效果示例
2018/06/04 jQuery
vue文件运行的方法教学
2019/02/12 Javascript
React Native登录之指纹登录篇的示例代码
2020/11/03 Javascript
Python 文件操作技巧(File operation) 实例代码分析
2008/08/11 Python
用Python脚本生成Android SALT扰码的方法
2013/09/18 Python
python实现从字典中删除元素的方法
2015/05/04 Python
使用Turtle画正螺旋线的方法
2017/09/22 Python
python中(str,list,tuple)基础知识汇总
2018/02/20 Python
python石头剪刀布小游戏(三局两胜制)
2021/01/20 Python
Python利用WMI实现ping命令的例子
2019/08/14 Python
如何将 awk 脚本移植到 Python
2019/12/09 Python
阿迪达斯西班牙官方网站:adidas西班牙
2016/07/21 全球购物
菲律宾酒店预订网站:Hotels.com菲律宾
2017/07/12 全球购物
应届生幼儿园求职信
2013/11/12 职场文书
军校大学生个人的自我评价
2014/02/17 职场文书
网站推广策划方案
2014/06/04 职场文书
关于安全的广播稿
2014/10/23 职场文书
步步惊心观后感
2015/06/12 职场文书
最新的离婚协议书范本!
2019/07/02 职场文书
两行代码解决Jupyter Notebook中文不能显示的问题
2021/04/24 Python
python字符串常规操作大全
2021/05/02 Python
详解nginx location指令
2022/01/18 Servers
Java中API的使用方法详情
2022/04/06 Java/Android