利用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 相关文章推荐
pymssql ntext字段调用问题解决方法
Dec 17 Python
使用Python下载Bing图片(代码)
Nov 07 Python
零基础写python爬虫之神器正则表达式
Nov 06 Python
python中cPickle类使用方法详解
Aug 27 Python
基于随机梯度下降的矩阵分解推荐算法(python)
Aug 31 Python
python中退出多层循环的方法
Nov 27 Python
numpy中三维数组中加入元素后的位置详解
Nov 28 Python
python装饰器相当于函数的调用方式
Dec 27 Python
python 实现rolling和apply函数的向下取值操作
Jun 08 Python
python中pandas库中DataFrame对行和列的操作使用方法示例
Jun 14 Python
使用ITK-SNAP进行抠图操作并保存mask的实例
Jul 01 Python
python Scrapy爬虫框架的使用
Jan 21 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全局变量与超级全局变量区别分析
2016/04/01 PHP
PHP 文件上传后端处理实用技巧方法
2017/01/06 PHP
php unicode编码和字符串互转的方法
2020/08/12 PHP
Laravel 5.5 的自定义验证对象/类示例代码详解
2017/08/29 PHP
php实现支持中文的文件下载功能示例
2017/08/30 PHP
PHP一个简单的无需刷新爬虫
2019/01/05 PHP
Laravel 关联模型-关联新增和关联更新的方法
2019/10/10 PHP
JavaScript 动态添加表格行 使用模板、标记
2009/10/24 Javascript
js中this用法实例详解
2015/05/05 Javascript
浅谈angularJS 作用域
2015/07/05 Javascript
jQuery实现图片滑动效果
2017/03/08 Javascript
详解vue-router基本使用
2017/04/18 Javascript
Node.JS使用Sequelize操作MySQL的示例代码
2017/10/09 Javascript
AngularJS中下拉框的基本用法示例
2017/10/11 Javascript
Vue数据双向绑定的深入探究
2018/11/27 Javascript
详解vue在项目中使用百度地图
2019/03/26 Javascript
vue实现鼠标移入移出事件代码实例
2019/03/27 Javascript
js回文数的4种判断方法示例
2019/06/04 Javascript
Python 正则表达式操作指南
2009/05/04 Python
python文件操作之目录遍历实例分析
2015/05/20 Python
Python数据库的连接实现方法与注意事项
2016/02/27 Python
一个基于flask的web应用诞生 用户注册功能开发(5)
2017/04/11 Python
pandas多级分组实现排序的方法
2018/04/20 Python
python 从文件夹抽取图片另存的方法
2018/12/04 Python
python批量处理多DNS多域名的nslookup解析实现
2020/06/28 Python
python selenium 获取接口数据的实现
2020/12/07 Python
工商管理专业实习大学生自我鉴定
2013/09/19 职场文书
建筑工程技术应届生求职信
2013/11/17 职场文书
机电专业个人求职信范文
2013/12/30 职场文书
食品厂厂长岗位职责
2014/01/30 职场文书
妇女儿童发展规划实施方案
2014/03/16 职场文书
商业项目策划方案
2014/06/05 职场文书
求职自我评价范文100字
2014/09/23 职场文书
2016自主招生校长推荐信范文
2015/03/23 职场文书
导游词之西江千户苗寨
2019/12/24 职场文书
VUE使用draggable实现组件拖拽
2022/04/06 Vue.js