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中DOM方法的动态性
Apr 11 Python
python实现复制整个目录的方法
May 12 Python
Nginx搭建HTTPS服务器和强制使用HTTPS访问的方法
Aug 16 Python
使用Python保存网页上的图片或者保存页面为截图
Mar 05 Python
使用Nginx+uWsgi实现Python的Django框架站点动静分离
Mar 21 Python
详解python实现读取邮件数据并下载附件的实例
Aug 03 Python
基于Python中numpy数组的合并实例讲解
Apr 04 Python
PyQt5每天必学之带有标签的复选框
Apr 19 Python
python实现H2O中的随机森林算法介绍及其项目实战
Aug 29 Python
Python aiohttp百万并发极限测试实例分析
Oct 26 Python
python mysql 字段与关键字冲突的解决方式
Mar 02 Python
keras输出预测值和真实值方式
Jun 27 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
在线竞拍系统的PHP实现框架(二)
2006/10/09 PHP
ThinkPHP模板Volist标签嵌套循环输出多维数组的方法
2016/03/23 PHP
使用js完成节点的增删改复制等的操作
2014/01/02 Javascript
JavaScript获取鼠标移动时的坐标(兼容IE8、chome谷歌、Firefox)
2014/09/13 Javascript
jquery实现的判断倒计时是否结束代码
2016/02/05 Javascript
COM组件中调用JavaScript函数详解及实例
2017/02/23 Javascript
微信小程序出现wx.navigateTo页面不跳转问题的解决方法
2017/12/26 Javascript
Angular实现的简单查询天气预报功能示例
2017/12/27 Javascript
解决Linux无法正常安装与卸载Node.js的方法
2018/01/19 Javascript
js中Array对象的常用遍历方法详解
2019/01/17 Javascript
Vue实现导航栏点击当前标签变色功能
2020/08/19 Javascript
layui在form表单页面通过Validform加入简单验证的方法
2019/09/06 Javascript
python的re模块应用实例
2014/09/26 Python
在服务器端实现无间断部署Python应用的教程
2015/04/16 Python
python中redis查看剩余过期时间及用正则通配符批量删除key的方法
2018/07/30 Python
python 使用sys.stdin和fileinput读入标准输入的方法
2018/10/17 Python
对python读取CT医学图像的实例详解
2019/01/24 Python
python实现证件照换底功能
2019/08/20 Python
python mysql 字段与关键字冲突的解决方式
2020/03/02 Python
Python matplotlib绘制图形实例(包括点,曲线,注释和箭头)
2020/04/17 Python
Joe Fresh官网:加拿大时尚品牌和零售连锁店
2016/11/30 全球购物
松本清官方海外旗舰店:日本最大的药妆连锁店
2017/11/21 全球购物
Notino芬兰:购买香水和化妆品
2019/04/15 全球购物
SmartBuyGlasses荷兰:购买太阳镜和眼镜
2020/03/16 全球购物
数学专业推荐信范文
2013/11/21 职场文书
毕业自荐书
2013/12/09 职场文书
先进党支部事迹材料
2014/01/13 职场文书
《再见了,亲人》教学反思
2014/02/26 职场文书
企业标语口号
2014/06/10 职场文书
服务口号大全
2014/06/11 职场文书
在校实习生求职信
2014/06/18 职场文书
我们的节日中秋活动方案
2014/08/19 职场文书
学校查摆问题整改措施
2014/09/28 职场文书
大学生实训报告总结
2014/11/05 职场文书
Java 常见的限流算法详细分析并实现
2022/04/07 Java/Android
Python实现视频自动打码的示例代码
2022/04/08 Python