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实现查询苹果手机维修进度
Mar 16 Python
Python 操作文件的基本方法总结
Aug 10 Python
python实现m3u8格式转换为mp4视频格式
Feb 28 Python
Flask框架URL管理操作示例【基于@app.route】
Jul 23 Python
利用pandas读取中文数据集的方法
Jul 25 Python
python中多个装饰器的执行顺序详解
Oct 08 Python
python实现简单的文字识别
Nov 27 Python
eclipse创建python项目步骤详解
May 10 Python
python调用webservice接口的实现
Jul 12 Python
pytorch 改变tensor尺寸的实现
Jan 03 Python
Pytorch to(device)用法
Jan 08 Python
Python @property装饰器原理解析
Jan 22 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
从一个不错的留言本弄的mysql数据库操作类
2007/09/02 PHP
php去除换行符的方法小结(PHP_EOL变量的使用)
2013/02/16 PHP
php while循环得到循环次数
2013/10/26 PHP
Zend Framework入门教程之Zend_Config组件用法详解
2016/12/09 PHP
Nginx实现反向代理
2017/09/20 Servers
PHP实现微信商户支付企业付款到零钱功能
2018/09/30 PHP
php pdo连接数据库操作示例
2019/11/18 PHP
PHP反射基础知识回顾
2020/09/10 PHP
JS图片浏览组件PhotoLook的公开属性方法介绍和进阶实例代码
2010/11/09 Javascript
用js来定义浏览器中一个左右浮动元素相对于页面主体宽度的位置的函数
2012/01/21 Javascript
JavaScrip实现PHP print_r的数功能(三种方法)
2013/11/12 Javascript
js图片处理示例代码
2014/05/12 Javascript
Enter回车切换输入焦点实现思路与代码兼容各大浏览器
2014/09/01 Javascript
JavaScript实现数字数组按照倒序排列的方法
2015/04/06 Javascript
jQuery Form表单取值的方法
2017/01/11 Javascript
Node批量爬取头条视频并保存方法
2018/09/20 Javascript
vue.js购物车添加商品组件的方法
2019/09/17 Javascript
构建一个JavaScript插件系统
2020/10/20 Javascript
零基础写python爬虫之爬虫框架Scrapy安装配置
2014/11/06 Python
Python使用matplotlib绘制余弦的散点图示例
2018/03/14 Python
python实现人人自动回复、抢沙发功能
2018/06/08 Python
python3+selenium实现qq邮箱登陆并发送邮件功能
2019/01/23 Python
基于pandas中expand的作用详解
2019/12/17 Python
Python库skimage绘制二值图像代码实例
2020/04/10 Python
使用anaconda安装pytorch的实现步骤
2020/09/03 Python
HTML5拖拽API经典实例详解
2018/04/20 HTML / CSS
洲际酒店集团英国官网:IHG英国
2019/07/10 全球购物
电子商务专业自我鉴定
2013/12/18 职场文书
制药工程专业个人求职自荐信
2014/01/25 职场文书
纺织工程专业个人求职信范文
2014/01/27 职场文书
主题党日活动总结
2014/07/08 职场文书
个人债务授权委托书
2014/10/17 职场文书
社区党员群众路线教育实践活动心得体会
2014/11/03 职场文书
幼儿园教师自我评价
2015/03/04 职场文书
2015年党务公开工作总结
2015/05/19 职场文书
SQL Server数据库的三种创建方法汇总
2023/05/08 MySQL