python2 对excel表格操作完整示例
作者:Dawn__Z 发布时间:2022-08-27 00:35:06
标签:python2,excel表格操作
本文实例讲述了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文件:
希望本文所述对大家Python程序设计有所帮助。
来源:https://blog.csdn.net/Dawn__Z/article/details/85013961
0
投稿
猜你喜欢
- 本文实例讲述了python通过线程实现定时器timer的方法。分享给大家供大家参考。具体分析如下:这个python类实现了一个定时器效果,调
- 当管理SQL Server内在的帐户和密码时,我们很容易认为这一切都相当的安全。但实际上并非如此。在这里,我们列出了一些对于SQL Serv
- 下面,小编将通过一组实例演示,让大家更直观,更清楚明白的了解要设置中文这一内容的操作步骤。首先展示实例代码:import pygamefro
- 如何向前端推送用户请求的信息?postinfo.htm<head><title>asp教程之回应用户请求信息&nbs
- php中可以把函数名通过字符串的方式传递给一个变量,然后通过此变量动态调用函数下面是一个简单的动态函数调用范例<html><
- 在进行文本分析、提取关键词时,新闻评论等文本通常是中英文及其他语言的混杂,若不加处理直接分析,结果往往差强人意。下面对中英文文本进行分离做一
- ⛳️ 本次反反爬实战案例背景本篇博客选择的案例是由 VX 好友提出,他希望有一篇博客能简单的介绍清楚下面这个问题。快速定位加密参数逻辑,快速
- 本文实例为大家分享了python实现超市管理系统的具体代码,供大家参考,具体内容如下这个相比上个程序简单很多,首先他没有太过复杂的逻辑关系,
- 实例如下所示:import matplotlib.pyplot as pltplt.imshow(img)#控制台打印出图像对象的信息,而图
- 需求:对方提供处理文件的接口,本地将待处理文件压缩后,通过http post multipart方式上传,等待处理完成后从相应连接下载结果代
- 本文介绍在Anaconda环境下,安装Python中栅格、矢量等地理数据处理库GDAL的方法。需要注意的是,本文介绍基于conda inst
- 一个是没有对输入的数据进行过滤(过滤输入),还有一个是没有对发送到数据库的数据进行转义(转义输出)。这两个重要的步骤缺一不可,需要同时加以特
- 文章摘要:其实这里casperjs与python没有直接关系,主要依赖casperjs调用phantomjs webkit获取html文件内
- 最近在学web自动化,记录一下学习过程。此处我选用python3.6+selenium3.0,均用最新版本,以适应未来需求。环境:windo
- 创建类Python 类使用 class 关键字来创建。简单的类的声明可以是关键字后紧跟类名:class ClassName(bases):&
- 在上一篇《服务器XMLHTTP(Server XMLHTTP in ASP)基础》中我介绍了一下ServerX
- 利用pygame实现了简易版飞机大战。源代码如下:# -*- coding:utf-8 -*-import pygameimport sys
- Python自动化测试-使用Pandas来高效处理测试数据一、思考1.Pandas是什么?功能极其强大的数据分析库可以高效地操作各种数据集c
- 本文给出了几个表单常用的js验证函数,有检查、\等特殊字符的,有检查是否含有空格,检查是否为Email 地址,也有检查是否是小数或负数的,检
- 网络上有很多关于语言选择的问题,其中关于Python和Java的问题大抵如下:Python和Java该如何选择 ?将来Python(Java