python针对xls表格基本操作

编写python程序时常会用到对xls表格的操作。这里针对文件的操作方式主要为读(Read)、增(Add)和改(Modify)xlrd、xlwt和xlutils库分别实现了读、增、改功能,大大节省了开发者的时间。

1.xlrd库用于读取xls文件内容,其使用示例代码如下(注意单元格的编号都是从0开始编的):

import xlrd

# 连接文件
data = xlrd.open_workbook('testcontent.xls');
# 获取对应工作表
table = data.sheets()[0]  # 通过索引顺序获取
table = data.sheet_by_index(0)  # 通过索引顺序获取
table = data.sheet_by_name(u'Sheet1')  # 通过名称获取
# 获取整行和整列的值,返回的是列表
row_value = table.row_values(1)
col_value = table.col_values(1)
# 获取行数和列数
number_rows = table.nrows
number_cols = table.ncols
# 获取单元格数据
cell_A1 = table.cell(0, 0).value
cell_C4 = table.cell(2, 3).value

2.xlwt库用于向xls文件中写入内容,使用样例如下(摘自官方文档样例,自己加了注释):

import xlwt
from datetime import datetime

style0 = xlwt.easyxf('font: name Times New Roman, color-index red, bold on',
    num_format_str='#,##0.00')
style1 = xlwt.easyxf(num_format_str='D-MMM-YY')

wb = xlwt.Workbook() # 创建文档对象
ws = wb.add_sheet('A Test Sheet') # 创建工作表

# 向工作表写入格式
ws.write(0, 0, 1234.56, style0)
ws.write(1, 0, datetime.now(), style1)
ws.write(2, 0, 1)
ws.write(2, 1, 1)
ws.write(2, 2, xlwt.Formula("A3+B3"))

# 保存,生成文件
wb.save('example.xls')

3.xlutils库主要用于对已有的xls文件追加新内容,其主要思想是借助xlrd读取xls文件,将文件复制一份,在保存时将原先的文件覆盖已达到追加文件内容的目的。示例代码如下:

import os
from xlutils.copy import copy
import xlrd as ExcelRead


def write_append(file_name):
    values = ["Ann", "woman", 22, "UK"]

    r_xls = ExcelRead.open_workbook(file_name) # 通过xls读取库确定文件
    r_sheet = r_xls.sheet_by_index(0)
    rows = r_sheet.nrows
    w_xls = copy(r_xls) # 复制一份相同的文件以便于修改
    sheet_write = w_xls.get_sheet(0)

    for i in range(0, len(values)):
        sheet_write.write(rows, i, values[i])

    w_xls.save(file_name + '.out' + os.path.splitext(file_name)[-1]);# 将修改后的文件保存


if __name__ == "__main__":
    write_append("./test_append.xls")

猜你喜欢

转载自blog.csdn.net/u012614287/article/details/53784207