在Python中,处理Excel数据的写入操作相对容易,主要通过`xlrd`读取和`xlwt`生成。然而,对已有Excel文件进行修改就比较复杂。这时,`xlutils`库就派上了用场,它提供了一个`copy`模块,通过`copy()`方法实现复制Excel文件内容并进行修改的功能。例如:
首先,使用`xlrd.open_workbook()`读取Excel文件,获取到`***.book`类型的对象是只读的。而通过`***.workbook()`获取的`***.workbook`类型则支持save操作。
要对已存在的文件进行修改,可以借助`***.copy.copy()`方法。如以下代码所示:
python
from xlrd import open_workbook
from ***.copy import copy
rb = open_workbook('m:\\1.xls')
# 使用***.sheet_by_index()获取的sheet不具备write()方法
rs = ***.sheet_by_index(0)
wb = copy(rb) # 使用***.get_sheet()获取的sheet有write()方法
ws = ***.get_sheet(0)
***.write(0, 0, 'changed!')
wb.save('m:\\1.xls')
然而,`xlutils`的保存实际上是通过`xlwt`间接完成的,这意味着它仅支持xls文件的写入,不适用于xlsx文件。以下是一个练习代码示例:
python
import xlrd
from xlwt import *
from ***.copy import copy
xlsfile = '***.xls'
book = ***.open_workbook(xlsfile)
sheet_name = ***.sheet_names()
# ...(省略读取数据的部分)
# 通过xlwt写入xls文件
wb = copy(book)
***.save(xlsfile)
注意,`xlwt`仅限于xls格式,如果需要处理xlsx文件,你需要寻找其他工具或库来实现。
温馨提示:答案为网友推荐,仅供参考