python xlutils 用法演示

# xlutils_demo.py
import xlrd
from xlutils.copy import copy


def copy_excel(target_file):
    """
    利用 xlutils.copy 拷贝一份 Excel.
    
    xlutils.copy 可以实现以下功能:
        1. 读取表格信息的功能
        2. 在表格中写入数据的功能
    相当于 xlrd 和 xlwt 的结合体.
    但请注意, xlrd 读取的 xlsx 具有完整的读取功能, 但保存为新表格文件时, 必须以 '.xls' 格
    式保存, 因为 xlwt 只支持 '.xls' 格式的保存.
    """
    # 首先用 xlrd 读取一张表格
    read_file = 'sample.xlsx'
    workbook = xlrd.open_workbook(read_file, formatting_info=False)
    """
    formatting_info 参数表示保留原数据的样式 (如原表格的标黄单元格, 加粗字体等信息的保留), 
    默认值为 False (不保留).
    另外, formatting_info=True 不保证能完美保留, 部分样式可能丢失. (个人遇到过的情况是新
    建 sheet 操作会导致原表格标黄的单元格的背景色丢失)
    """
    
    # 拷贝此表格
    new_book = copy(workbook)
    # 注: 此时的 new_book 不仅具有 xlwt 的功能, 还具有 xlrd 的功能, 也就是既可读又可写.
    
    # 先展示读的功能
    # new_book 读取 sheet 的操作和 xlrd.sheet_by_index 略有不同.
    sheet = workbook.get_sheet(0)
    # 更多请见 xlrd_demo.py.
    
    # 写的功能
    # 写一个单元格.
    sheet.write(0, 0, 'new abc')
    # 更多请见 xlwt_demo.py.
    
    new_output_path = 'result2.xls'
    new_book.save(new_output_path)

你可能感兴趣的:(Python,模块演示)