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中的hashlib和base64加密模块使用实例
Sep 02 Python
用实例详解Python中的Django框架中prefetch_related()函数对数据库查询的优化
Apr 01 Python
实例解析Python设计模式编程之桥接模式的运用
Mar 02 Python
matplotlib中legend位置调整解析
Dec 19 Python
python如何定义带参数的装饰器
Mar 20 Python
Python 解决中文写入Excel时抛异常的问题
May 03 Python
python实现指定文件夹下的指定文件移动到指定位置
Sep 17 Python
Python3多线程版TCP端口扫描器
Aug 31 Python
django框架forms组件用法实例详解
Dec 10 Python
Python实现猜年龄游戏代码实例
Mar 25 Python
Python实现给PDF添加水印的方法
Jan 25 Python
Pytorch 中net.train 和 net.eval的使用说明
May 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
Discuz!下Memcache缓存实现方法
2010/05/28 PHP
php中用加号与用array_merge合并数组的区别深入分析
2013/06/03 PHP
Linux中为php配置伪静态
2014/12/17 PHP
thinkphp查询,3.X 5.0方法(亲试可行)
2017/06/17 PHP
分析php://output和php://stdout的区别
2018/05/06 PHP
我也种棵OO树JXTree[js+css+xml]
2007/04/02 Javascript
JQuery Tips(3) 关于$()包装集内元素的改变
2009/12/14 Javascript
ExtJs之带图片的下拉列表框插件
2010/03/04 Javascript
JS 自定义函数缺省值的设置方法
2010/05/05 Javascript
javascript中强制执行toString()具体实现
2013/04/27 Javascript
JavaScript动态提示输入框输入字数的方法
2015/07/27 Javascript
jQuery绑定事件on()与弹窗的简要概述
2016/04/27 Javascript
JavaScript中防止微信浏览器被整体拖动的方法
2017/08/25 Javascript
小程序登录之支付宝授权的实现示例
2019/12/13 Javascript
对python中的乘法dot和对应分量相乘multiply详解
2018/11/14 Python
python 求定积分和不定积分示例
2019/11/20 Python
基于python判断目录或者文件代码实例
2019/11/29 Python
python实现从尾到头打印单链表操作示例
2020/02/22 Python
Pandas读取csv时如何设置列名
2020/06/02 Python
深入研究HTML5实现图片压缩上传功能
2016/03/25 HTML / CSS
传统HTML页面实现模块化加载的方法
2018/10/15 HTML / CSS
飞利浦法国官网:Philips法国
2019/07/10 全球购物
幼儿园教师获奖感言
2014/03/11 职场文书
《富饶的西沙群岛》教学反思
2014/04/09 职场文书
优秀大学生自荐信
2014/06/09 职场文书
禁止酒驾标语
2014/06/25 职场文书
结对共建协议书
2014/08/20 职场文书
高中学生会竞选演讲稿
2014/08/25 职场文书
环境保护建议书
2014/08/26 职场文书
上课不认真检讨书
2014/09/17 职场文书
学校感恩节活动策划方案
2014/10/06 职场文书
经典爱情感言
2015/08/03 职场文书
Python的这些库,你知道多少?
2021/06/09 Python
一篇文章弄懂Python关键字、标识符和变量
2021/07/15 Python
Vue组件化(ref,props, mixin,.插件)详解
2022/05/15 Vue.js
MySQL中EXPLAIN语句及用法
2022/05/20 MySQL