利用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 27 Python
各个系统下的Python解释器相关安装方法
Oct 12 Python
python实现读取并显示图片的两种方法
Jan 13 Python
python用BeautifulSoup库简单爬虫实例分析
Jul 30 Python
解决python3中cv2读取中文路径的问题
Dec 05 Python
python傅里叶变换FFT绘制频谱图
Jul 19 Python
python将时分秒转换成秒的实例
Dec 07 Python
python实现字符串和数字拼接
Mar 02 Python
Python3 pickle对象串行化代码实例解析
Mar 23 Python
python能在浏览器能运行吗
Jun 17 Python
python在linux环境下安装skimage的示例代码
Oct 14 Python
10个顶级Python实用库推荐
Mar 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实现长连接的方法与注意事项的问题
2013/05/10 PHP
PHP-Fcgi下PHP的执行时间设置方法
2013/08/02 PHP
PHP模块memcached使用指南
2014/12/08 PHP
php在数据库抽象层简单使用PDO的方法
2015/11/03 PHP
各种常用的JS函数整理
2013/10/25 Javascript
利用jQuary实现文字浮动提示效果示例代码
2013/12/26 Javascript
JSON.parse()和JSON.stringify()使用介绍
2014/06/20 Javascript
深入了解Node.js中的一些特性
2014/09/25 Javascript
分享一则javascript 调试技巧
2015/01/02 Javascript
js淡入淡出的图片轮播效果代码分享
2015/08/24 Javascript
举例说明JavaScript中的实例对象与原型对象
2016/03/11 Javascript
JQuery组件基于Bootstrap的DropDownList(完整版)
2016/07/05 Javascript
Vue项目添加动态浏览器头部title的方法
2018/07/11 Javascript
electron + vue项目实现打印小票功能及实现代码
2018/11/25 Javascript
8 个有用的JS技巧(推荐)
2019/07/03 Javascript
ES6之Proxy的get方法详解
2019/10/11 Javascript
JS实现轮播图效果
2020/01/11 Javascript
[49:15]DOTA2-DPC中国联赛 正赛 CDEC vs XG BO3 第二场 1月19日
2021/03/11 DOTA
python+selenium实现京东自动登录及秒杀功能
2017/11/18 Python
Python API 自动化实战详解(纯代码)
2019/06/11 Python
详解python中的模块及包导入
2019/08/30 Python
Pytorch 神经网络—自定义数据集上实现教程
2020/01/07 Python
使用Python爬虫库requests发送请求、传递URL参数、定制headers
2020/01/25 Python
Python数组拼接np.concatenate实现过程
2020/04/18 Python
css3 border-image使用说明
2010/06/23 HTML / CSS
拉斯维加斯城市观光通行证:Las Vegas Pass
2019/05/21 全球购物
特色蛋糕店创业计划书
2014/01/28 职场文书
信息科学与技术专业求职信范文
2014/02/20 职场文书
2014世界杯球队球队口号
2014/06/05 职场文书
放飞梦想演讲稿600字
2014/08/26 职场文书
县级领导干部开展党的群众路线教育实践活动工作汇报
2014/10/25 职场文书
小学教师个人工作总结2015
2015/04/20 职场文书
2016国培研修心得体会
2016/01/08 职场文书
2019年最新借条范本!
2019/07/08 职场文书
简述python四种分词工具,盘点哪个更好用?
2021/04/13 Python
html form表单基础入门案例讲解
2021/07/15 HTML / CSS