python2 对excel表格操作完整示例


Posted in Python onFebruary 23, 2020

本文实例讲述了python2 对excel表格操作。分享给大家供大家参考,具体如下:

#!/usr/bin/env python2
# -*- coding: utf-8 -*-
"""
Created on Sat Dec 2 15:40:35 2017
@author: 260207
"""
from xlutils.copy import copy
import xlrd 
import xlwt
def set_style(name = 'Times New Roman',height = 6,bold=False):
#  设置单元格样式
  style = xlwt.XFStyle() # 初始化样式
  font = xlwt.Font()  # 设置字体样式
  font.name = name   # 字体名称'Times New Roman'
  font.bold = bold   #加粗 
  font.color_index = 4 #颜色
  font.height = height #高度
  style.font = font     #定义字体属性
  return style
def write_excel(bomcode ): #创建标准件模板
  excel = xlwt.Workbook() #创建工作簿
  import datetime
  dateTime=datetime.datetime.now().strftime('%Y-%m-%d')
  sheet1 = excel.add_sheet(u'标贴防错系统',cell_overwrite_ok=True)
  #生成表头,即第一列
  sheet1.write(0,0,u'订单编码',set_style('Times New Roman',180))
  sheet1.write(0,1,u'当前时间',set_style('Times New Roman',180))
  sheet1.write(0,2,u'检测总量', set_style('Times New Roman', 180))
  sheet1.write(0,3,u'出错数量', set_style('Times New Roman', 180))
  sheet1.write(0, 4, u'正确数量', set_style('Times New Roman', 180))
  sheet1.write(0,5,u'合格率', set_style('Times New Roman', 180))
  excel.save(file_dir+str(dateTime)+'.xls') #保存文件
#
def seefile(file_dir):
  import os
  L=[] 
  for root, dirs, files in os.walk(file_dir): 
    for file in files: 
      if os.path.splitext(file)[1] == '.xls': 
        L.append(os.path.join(root, file)) 
  return L
def add_excel(passflag,row,error,true): # 添加内容
  import datetime
  dateTime = datetime.datetime.now().strftime('%Y-%m-%d') # 查看时间
  nowTime = datetime.datetime.now().strftime('%H:%M:%S')
  workbook = xlrd.open_workbook(file_dir+str(dateTime)+'.xls','r+')
  new_excel = copy(workbook)
  ws = new_excel.get_sheet(0) # 索引到表格
  ws.write(row, 0, str(bomcode), set_style('Times New Roman', 180))
  ws.write(row, 1, str(nowTime), set_style('Times New Roman', 180)) 
  if passflag == 1:
    ws.write(row, 3, error+1, set_style('Times New Roman', 180))
    ws.write(row, 4, true, set_style('Times New Roman', 180))
  else:
    ws.write(row, 4, true+1, set_style('Times New Roman', 180))
    ws.write(row, 3, error, set_style('Times New Roman', 180))
  ws.write(row, 2, error+true+1, set_style('Times New Roman', 180))
  new_excel.save(file_dir+str(dateTime)+'.xls')
def pass_rate(row):
  import datetime
  dateTime = datetime.datetime.now().strftime('%Y-%m-%d')
  workbook112 = xlrd.open_workbook(file_dir+str(dateTime)+'.xls','r+')
  all_excel = copy(workbook112)
  ws1 = all_excel.get_sheet(0)
  workbook_position = workbook112.sheet_by_index(0)
  all_value=workbook_position.cell(row,2).value
  true_value=workbook_position.cell(row,4).value
  ws1.write(row, 5, round(float(true_value)/(all_value),2), set_style('Times New Roman', 180)) 
  all_excel.save(file_dir+str(dateTime)+'.xls')
def data_analysis(bomcode):
  import datetime
  dateTime = datetime.datetime.now().strftime('%Y-%m-%d')
  filename = seefile(file_dir)
  filename = list(reversed(filename))
  #增加异常,文件名需按最新时间排列
  if (filename ==[]) or (filename is None) or (dateTime!=(filename[0])[-14:-4]) :
    write_excel(bomcode)
  workbook = xlrd.open_workbook(file_dir+str(dateTime)+'.xls','r+')
  workbook_position = workbook.sheet_by_index(0)
  cols_0 = workbook_position.col_values(0)
  if bomcode in cols_0:    
    row_error = cols_0.index(bomcode)
    error=workbook_position.cell(row_error,3).value
    true=workbook_position.cell(row_error,4).value
    row = row_error
  else :
    error = 0
    true = 0
    row = len(cols_0)
  add_excel(passflag,row,error,true)
  pass_rate(row)
if __name__ == '__main__':
  file_dir ='C:/Users/Administrator/Desktop/Data_analysis/'
  bomcode='21122'
  passflag =0
  data_analysis(bomcode)
#  add_excel(bomcode,passflag,row)

运行后将数据写入如下xls文件:

python2 对excel表格操作完整示例

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
基于Python的接口测试框架实例
Nov 04 Python
Python使用三种方法实现PCA算法
Dec 12 Python
python实现年会抽奖程序
Jan 22 Python
对DataFrame数据中的重复行,利用groupby累加合并的方法详解
Jan 30 Python
django如何自己创建一个中间件
Jul 24 Python
python连接PostgreSQL数据库的过程详解
Sep 18 Python
Django app配置多个数据库代码实例
Dec 17 Python
Python字符串中删除特定字符的方法
Jan 15 Python
Python日志处理模块logging用法解析
May 19 Python
Python如何爬取qq音乐歌词到本地
Jun 01 Python
Python设计密码强度校验程序
Jul 30 Python
python+pytest接口自动化之token关联登录的实现
Apr 06 Python
深入浅析python变量加逗号,的含义
Feb 22 #Python
详解django中Template语言
Feb 22 #Python
Python使用configparser库读取配置文件
Feb 22 #Python
Pytest参数化parametrize使用代码实例
Feb 22 #Python
Pytest mark使用实例及原理解析
Feb 22 #Python
python如何通过闭包实现计算器的功能
Feb 22 #Python
postman和python mock测试过程图解
Feb 22 #Python
You might like
ThinkPHP缓存方法S()概述
2014/06/13 PHP
非常实用的PHP常用函数汇总
2014/12/17 PHP
php使用GD2绘制几何图形示例
2017/02/15 PHP
PHP调用接口用post方法传送json数据的实例
2018/05/31 PHP
ThinkPHP框架实现的邮箱激活功能示例
2018/06/15 PHP
cookie丢失问题(认证失效) Authentication (用户验证信息)也会丢失
2009/06/04 Javascript
jquery.Jwin.js 基于jquery的弹出层插件代码
2012/05/23 Javascript
日历查询的算法 如何计算某一天是星期几
2012/12/12 Javascript
基于js与flash实现的网站flv视频播放插件代码
2014/10/14 Javascript
JavaScript中关联原型链属性特性
2016/02/13 Javascript
JS实现图片平面旋转的方法
2016/03/01 Javascript
jquery实现文字单行横移或翻转(上下、左右跳转)
2017/01/08 Javascript
vux uploader 图片上传组件的安装使用方法
2018/05/15 Javascript
浅谈vue同一页面中拥有两个表单时,的验证问题
2018/09/18 Javascript
如何让node运行es6模块文件及其原理详解
2018/12/11 Javascript
Python中使用第三方库xlrd来写入Excel文件示例
2015/04/05 Python
仅用50行Python代码实现一个简单的代理服务器
2015/04/08 Python
Python使用Srapy框架爬虫模拟登陆并抓取知乎内容
2016/07/02 Python
解决python 自动安装缺少模块的问题
2018/10/22 Python
使用Django简单编写一个XSS平台的方法步骤
2019/03/25 Python
使用python的pyplot绘制函数实例
2020/02/13 Python
Python Spyder 调出缩进对齐线的操作
2021/02/26 Python
荷兰超市:DEEN
2018/03/14 全球购物
德国足球商店:OUTFITTER
2019/05/06 全球购物
为什么Runtime.exec(“ls”)没有任何输出?
2014/10/03 面试题
酒店工作职员求职简历的自我评价
2013/10/23 职场文书
实习生自我鉴定范文
2013/12/05 职场文书
市场安全管理制度
2014/01/26 职场文书
初二生物教学反思
2014/02/03 职场文书
一岗双责责任书
2014/04/15 职场文书
个人作风建设心得体会
2014/10/22 职场文书
2014年质检员工作总结
2014/11/18 职场文书
教师学期个人总结
2015/02/11 职场文书
2016公司年会主持词
2015/07/01 职场文书
环境卫生标语
2015/08/03 职场文书
一文搞懂Golang 时间和日期相关函数
2021/12/06 Golang