天天看點

python(寫入 excel 操作 xlwt 子產品)

一、安裝 xlwt 子產品

  • pip install xlwt

二、excel 寫入操作

  • 這種方式隻能新增或者覆寫檔案寫入
import xlwt

# 建立一個workbook 設定編碼
workbook = xlwt.Workbook(encoding = 'utf-8')

# 建立一個sheet 
worksheet = workbook.add_sheet('My Worksheet')

# 寫入excel,write(row_index,col_index,value)參數對應 行, 列, 值
worksheet.write(1,0,'this is test')

# 儲存(儲存後在目錄下新增xxx.xls檔案)
workbook.save('d:\\Excel_test.xls')      
  • 這種方式進行修改檔案内容,不會覆寫原檔案内容,隻會修改指定的内容 
  • pip install xlutils
  • 儲存 excel 必須使用字尾名是 .xls 的,不是能是 .xlsx 的
#coding=utf-8

from xlutils.copy import copy
import xlrd

#打開要修改的excel
book = xlrd.open_workbook('d:\\test.xls')

#copy()複制,複制原來的excel進行編輯
new_book = copy(book)

#通過get_sheet(sheet_index)選擇需要修改的sheet頁
sheet = new_book.get_sheet(0)

#寫入修改的内容,write(row_index,col_index,value)參數對應 行, 列, 值
sheet.write(0,1,'test')

#save(filename)儲存修改後的excel,因為儲存後的檔案名第一步打開的檔案名一緻,是以儲存的工作表會覆寫掉原來的工作表
new_book.save('d:\\test.xls')

"""
#另存為test1.xls,會将之前的工作表複制後進行修改且另存到test1.xls中,原來的test.xls檔案内容不變
new_book.save('d:\\test1.xls')
"""      
  • 寫入 excel 資料操作封裝
#coding=utf-8

from xlutils.copy import copy
import xlrd

def wrtel(excelpath,sheet_index,row_index,col_index,value):
    book = xlrd.open_workbook(excelpath)
    new_book = copy(book)
    sheet = new_book.get_sheet(sheet_index)
    sheet.write(row_index,col_index,value)
    new_book.save(excelpath)      
#coding=utf-8

from WriteExcel import wrtel
import random

#調用wrtel方法建立課程表
date = [u"星期一",u"星期二",u"星期三",u"星期四",u"星期五"]
course = [u"國文",u"數學",u"英語",u"體育"]

colx = 0
for i in date:
    wrtel("C:\Users\Administrator\Desktop\\test.xls",0,0,colx,i)
    wrtel("C:\Users\Administrator\Desktop\\test.xls",0,1,colx,random.choice(course))
    wrtel("C:\Users\Administrator\Desktop\\test.xls",0,2,colx,random.choice(course))
    wrtel("C:\Users\Administrator\Desktop\\test.xls",0,3,colx,random.choice(course))
    wrtel("C:\Users\Administrator\Desktop\\test.xls",0,4,colx,random.choice(course))
    wrtel("C:\Users\Administrator\Desktop\\test.xls",0,5,colx,random.choice(course))
    colx += 1      

作者:多測師進階講師_鄭sir

微信:ZhengYing8887

出處:https://www.cnblogs.com/ZhengYing0813/

備注:本文版權歸作者所有,歡迎轉載和添加作者微信探讨技術,但未經作者同意必須在文章頁面給出原文連結,否則保留追究法律責任的權利。

繼續閱讀