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 Django模板的使用方法(图文)
Nov 04 Python
python数据分析数据标准化及离散化详解
Feb 26 Python
python样条插值的实现代码
Dec 17 Python
PyQt5创建一个新窗口的实例
Jun 20 Python
Python3 列表,数组,矩阵的相互转换的方法示例
Aug 05 Python
详解python中的模块及包导入
Aug 30 Python
python区分不同数据类型的方法
Oct 14 Python
Python获取、格式化当前时间日期的方法
Feb 10 Python
Django media static外部访问Django中的图片设置教程
Apr 07 Python
Python基于gevent实现文件字符串查找器
Aug 11 Python
python调用摄像头的示例代码
Sep 28 Python
Python爬取奶茶店数据分析哪家最好喝以及性价比
Sep 23 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 echo()和print()、require()和include()函数区别说明
2010/03/27 PHP
mysql查找删除重复数据并只保留一条实例详解
2016/09/24 PHP
在laravel中使用with实现动态添加where条件
2019/10/10 PHP
Prototype使用指南之array.js
2007/01/10 Javascript
javascript oop开发滑动(slide)菜单控件
2010/08/25 Javascript
js 创建快捷方式的代码(fso)
2010/11/19 Javascript
JavaScript 用cloneNode方法克隆节点的代码
2012/10/15 Javascript
js时间戳格式化成日期格式的多种方法
2013/11/11 Javascript
jQuery中ready事件用法实例
2015/01/19 Javascript
js实现同一个页面多个渐变效果的方法
2015/04/10 Javascript
jquery实现图片上传前本地预览功能
2016/05/10 Javascript
详解angularjs popup-table 弹出框表格指令
2017/09/20 Javascript
解决使用Vue.js显示数据的时,页面闪现原始代码的问题
2018/02/11 Javascript
Vue中$refs的用法详解
2018/06/24 Javascript
详解BootStrap表单验证中重置BootStrap-select验证提示不清除的坑
2019/09/17 Javascript
js+canvas绘制图形验证码
2020/09/21 Javascript
[02:52]2014DOTA2西雅图国际邀请赛 CIS战队巡礼
2014/07/07 DOTA
[01:02:46]VGJ.S vs NB 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
python创建只读属性对象的方法(ReadOnlyObject)
2013/02/10 Python
pd.DataFrame统计各列数值多少的实例
2019/12/05 Python
Jupyter加载文件的实现方法
2020/04/14 Python
解决echarts中饼图标签重叠的问题
2020/05/16 Python
Python  word实现读取及导出代码解析
2020/07/09 Python
详解如何用canvas画一个微笑的表情
2019/03/14 HTML / CSS
《长江之歌》教学反思
2014/04/17 职场文书
慰问敬老院活动总结
2014/04/26 职场文书
艺术设计专业求职自荐信
2014/05/19 职场文书
防灾减灾日活动总结
2014/08/26 职场文书
领导班子四风对照检查材料思想汇报
2014/09/26 职场文书
80后婚前协议书范本
2014/10/24 职场文书
师范生见习报告范文
2014/11/03 职场文书
上课说话检讨书
2015/01/27 职场文书
教师个人总结范文
2015/02/11 职场文书
李白故里导游词
2015/02/12 职场文书
毕业生政审意见范文
2015/06/04 职场文书
幼儿园大班教育随笔
2015/08/14 职场文书