Python創(chuàng)建 XLS 文件的類(lèi)封裝
在處理 Excel 文件時(shí),我們經(jīng)常需要?jiǎng)?chuàng)建、編輯和保存 XLS 文件。為了簡(jiǎn)化這個(gè)過(guò)程,我們可以將常用的操作封裝成一個(gè)類(lèi),方便復(fù)用和擴(kuò)展。下面是一個(gè)基于 Python 的 XLS 文件操作類(lèi),包括以
在處理 Excel 文件時(shí),我們經(jīng)常需要?jiǎng)?chuàng)建、編輯和保存 XLS 文件。為了簡(jiǎn)化這個(gè)過(guò)程,我們可以將常用的操作封裝成一個(gè)類(lèi),方便復(fù)用和擴(kuò)展。下面是一個(gè)基于 Python 的 XLS 文件操作類(lèi),包括以下功能:
1. 創(chuàng)建 XLS 文件
通過(guò) `__init__` 方法初始化一個(gè) XLS 文件對(duì)象,并創(chuàng)建 Workbook 對(duì)象。
2. 添加工作表
使用 `add_sheet` 方法可以向 XLS 文件中添加新的工作表,并返回該工作表對(duì)象。
3. 向工作表寫(xiě)入數(shù)據(jù)
`write_rows` 方法可以將一維列表數(shù)據(jù)寫(xiě)入工作表的某一行,`write_cols` 方法可以將一維列表數(shù)據(jù)寫(xiě)入工作表的某一列。
`write_merge` 方法可以將數(shù)據(jù)寫(xiě)入合并單元格。
4. 保存 XLS 文件
通過(guò) `save_file` 方法可以將創(chuàng)建和編輯好的 XLS 文件保存到磁盤(pán)。
下面是完整的代碼實(shí)現(xiàn):
```python
import xlrd, xlwt, xlsxwriter
from import copy
from datetime import date, datetime
import sys
reload(sys)
('utf-8')
class WtXls(object):
"""創(chuàng)建excel"""
def __init__(self, file_name):
super(WtXls, self).__init__()
_name file_name
()
def add_sheet(self, sheet_name):
新增一個(gè)sheet,避免重復(fù)操作單元格報(bào)錯(cuò):cell_overwrite_okTrue
_sheet(sheet_name, cell_overwrite_okTrue)
return
def write_rows(self, sheet, nrow, mcols, values):
從第mcols列開(kāi)始填充第nrow行數(shù)據(jù)
for mcol in range(0, len(values)):
sheet.write(nrow, mcol mcols, values[mcol])
return True
def write_cols(self, sheet, nrows, mcol, values):
從第nrows行開(kāi)始填充第mcol列數(shù)據(jù)
for nrow in range(0, len(values)):
sheet.write(nrow nrows, mcol, values[nrow])
return True
def write_merge(self, sheet, nrows_mcols):
填充合并單元格
for nrow_mcol in nrows_mcols:
sheet.write_merge(nrow_mcol[0], nrow_mcol[1], nrow_mcol[2], nrow_mcol[3], nrow_mcol[4])
return True
def save_file(self):
保存excel
(_name)
return True
```
使用這個(gè) `WtXls` 類(lèi),我們可以很方便地創(chuàng)建、編輯和保存 XLS 文件。例如:
```python
xls WtXls('output.xls')
sheet _sheet('Sheet1')
xls.write_rows(sheet, 0, 0, ['Name', 'Age', 'Gender'])
xls.write_cols(sheet, 1, 0, ['Alice', 'Bob', 'Charlie'])
xls.write_merge(sheet, [(0, 0, 0, 2, 'Summary')])
_file()
```
這樣就創(chuàng)建了一個(gè)包含一個(gè)工作表的 XLS 文件,第一行為標(biāo)題,后面三行為數(shù)據(jù),第一列為姓名,第二列為年齡,第三列為性別。
通過(guò)這種封裝,我們可以更方便地管理和擴(kuò)展 XLS 文件的操作,提高開(kāi)發(fā)效率。