您的位置:首页 > 编程语言 > Python开发

python针对xls表格基本操作

2016-12-21 14:32 127 查看
编写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")
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python 编程