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 ): #創(chuàng)建標準件模板
excel = xlwt.Workbook() #創(chuàng)建工作簿
import datetime
dateTime=datetime.datetime.now().strftime('%Y-%m-%d')
sheet1 = excel.add_sheet(u'標貼防錯系統(tǒng)',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'出錯數(shù)量', set_style('Times New Roman', 180))
sheet1.write(0, 4, u'正確數(shù)量', 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): # 添加內(nèi)容
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)
運行后將數(shù)據(jù)寫入如下xls文件:

更多關于Python相關內(nèi)容感興趣的讀者可查看本站專題:《Python操作Excel表格技巧總結》、《Python文件與目錄操作技巧匯總》、《Python文本文件操作技巧匯總》、《Python數(shù)據(jù)結構與算法教程》、《Python函數(shù)使用技巧總結》、《Python字符串操作技巧匯總》及《Python入門與進階經(jīng)典教程》
希望本文所述對大家Python程序設計有所幫助。
- Python導入數(shù)值型Excel數(shù)據(jù)并生成矩陣操作
- Python pandas如何向excel添加數(shù)據(jù)
- Python使用Excel將數(shù)據(jù)寫入多個sheet
- 解決python執(zhí)行較大excel文件openpyxl慢問題
- 基于python實現(xiàn)把json數(shù)據(jù)轉(zhuǎn)換成Excel表格
- Python讀取excel文件中帶公式的值的實現(xiàn)
- 利用python在excel中畫圖的實現(xiàn)方法
- Python3使用xlrd、xlwt處理Excel方法數(shù)據(jù)
- Python Excel vlookup函數(shù)實現(xiàn)過程解析
相關文章
python-docx讀取模板文檔并填充數(shù)據(jù)
python-docx?是開源的一個?Python?庫,用于讀取、創(chuàng)建和更新Microsoft?Word?2007+(.docx)文件,下面我們就來看看如何利用python-docx讀取模板文檔并填充數(shù)據(jù)吧2024-11-11
Python生成六萬個隨機,唯一的8位數(shù)字和數(shù)字組成的隨機字符串實例
今天小編就為大家分享一篇Python生成六萬個隨機,唯一的8位數(shù)字和數(shù)字組成的隨機字符串實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-03-03
python腳本監(jiān)聽域名證書過期時間并通知消息到釘釘(最新推薦)
這篇文章主要介紹了python腳本監(jiān)聽域名證書過期時間并通知消息到釘釘(最新推薦),本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-11-11
國產(chǎn)麒麟系統(tǒng)kylin部署python項目詳細步驟
這篇文章主要給大家介紹了關于國產(chǎn)麒麟系統(tǒng)kylin部署python項目的相關資料,文中通過代碼示例介紹的非常詳細,對大家的學習或者工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-09-09
用Python編寫腳本使IE實現(xiàn)代理上網(wǎng)的教程
這篇文章主要介紹了用Python編寫腳本使IE實現(xiàn)代理上網(wǎng)的教程,“著名的”goagent代理也是基于同樣原理實現(xiàn),需要的朋友可以參考下2015-04-04
在python中計算ssim的方法(與Matlab結果一致)
這篇文章主要介紹了在python中計算ssim的方法(與Matlab結果一致),本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-12-12

