python向xls寫入數據(包括合並,邊框,對齊,列寬)
1、常規寫入
# -*- encoding=utf-8 -*- import xlwt if __name__ == '__main__': head = ['姓名', '年齡', '出生年月'] data = [ ['蓋倫', '20', '2012-02-04'], ['趙信', '18', '2013-05-12'], ['女槍', '18', '2015-12-12'], ['劍聖', '20', '2012-11-14'], ] workbook = xlwt.Workbook() # 添加一個表, # cell_overwrite_ok=True表示覆蓋,如果下標相同,則覆蓋,不寫,下標相同,則拋出異常 sheet1 = workbook.add_sheet('Sheet1', cell_overwrite_ok=False) for index, info in enumerate(head): # 寫入表頭 sheet1.write(0, index, info) for index, row_data in enumerate(data): # 寫入數據,註意拼接下標 for line, line_data in enumerate(row_data): sheet1.write(index + 1, line, line_data) sheet2 = workbook.add_sheet('Sheet2') # 添加一個表 for index, info in enumerate(head): # 寫入表頭 sheet2.write(0, index, info) for index, row_data in enumerate(data): # 寫入數據,註意拼接下標 for line, line_data in enumerate(row_data): sheet2.write(index + 1, line, line_data) workbook.save('savexls.xls')
運行後
2、合並單元格寫入
# -*- encoding=utf-8 -*- import xlwt if __name__ == '__main__': workbook = xlwt.Workbook() sheet1 = workbook.add_sheet('Sheet1') # 合並從0行到0行,從0列到1列 sheet1.write_merge(0, 0, 0, 1, '合並單元格') # 合並從2行到4行,從0列到3列 sheet1.write_merge(2, 4, 0, 3, '合並單元格') workbook.save('merge.xls')
運行截圖
3、追加寫入
源xls文件
# -*- encoding=utf-8 -*- import xlrd from xlutils.copy import copy if __name__ == '__main__': pass filename = 'readxls.xls' f = xlrd.open_workbook(filename) # 打開Excel為xlrd對象 old_sheet = f.sheet_by_index(0) # 取到第一個舊表 old_sheet_rows = old_sheet.nrows # 第一個舊表的行數,下面追加就得在這個後面寫入數據 copy_read = copy(f) # 把xlrd對象轉為xlwt對象 new_sheet = copy_read.add_sheet('new_sheet') # 添加新表,表名不能重復 head = ['name', 'age', 'birthday'] data = [[1, 2, 3], [4, '2019/02/01', 6], [7, 8, 9]] for index, info in enumerate(head): # 寫入表頭 new_sheet.write(0, index, info) for index, row_data in enumerate(data): # 寫入數據,註意拼接下標 for line, line_data in enumerate(row_data): new_sheet.write(index + 1, line, line_data) exist_sheet = copy_read.get_sheet(0) # 取舊表 exist_sheet.write(old_sheet_rows, 0, '新數據1') exist_sheet.write(old_sheet_rows, 1, '新數據2') exist_sheet.write(old_sheet_rows, 2, '新數據3') copy_read.save('append.xlsx')
運行截圖
4、設置對齊,邊框,列寬
# -*- encoding=utf-8 -*-import xlwtbook = xlwt.Workbook()sheet = book.add_sheet('sheet')sheet.write(6, 6, 'data')align = xlwt.Alignment()align.horz = xlwt.Alignment.HORZ_CENTER # 水平居中align.vert = xlwt.Alignment.VERT_CENTER # 垂直居中font = xlwt.Font() # 字體基本設置font.name = u'新宋體'font.colour_index = 32764 # 字體顏色font.height = 160 # 字體大小borders = xlwt.Borders()borders.left = xlwt.Borders.THIN # 添加邊框,細實線borders.right = xlwt.Borders.THINborders.top = xlwt.Borders.THINborders.bottom = xlwt.Borders.THINsheet.col(6).width = 12 * 256 # 設置列寬,一個中文等於兩個英文等於兩個字符,12為字符數,256為衡量單位style = xlwt.XFStyle()style.font = fontstyle.alignment = alignstyle.borders = borderssheet.write(6, 8, 'data', style)book.save('style.xls')
以上就是python向xls寫入數據(包括合並,邊框,對齊,列寬)的詳細內容,更多關於python向xls寫入數據的資料請關註WalkonNet其它相關文章!
推薦閱讀:
- python中xlwt模塊的具體用法
- Python xlwt工具使用詳解,生成excel欄位寬度可自適應內容長度
- python讀寫修改Excel之xlrd&xlwt&xlutils
- 利用Python中xlwt模塊操作excel的示例詳解
- python 對excel交互工具的使用詳情