说到用excel文件的读写,一般人都会直接右键打开编辑书写。但在代码的效率对比下,人工的操作显然是不适合的,那么程序员在如何使用Python来读写excel文件的呢?首先会想到xlutils中用来复制读取excel的xlrd和负责写的xlwt。
excel文件的读写
在对excel文件的操作中,首先会想到用来复制读取excel的python xlrd模块和负责写的xlwt模块。python着第三方的工具包xlutils支持,在这其中包含了xlrd,xlwt等工具包,利用这些工具,可以很方便的对excel 进行操作。
- 在官网 http://pypi.python.org/pypi/xlutils 下载xlutils
- 安装、解压下载文件后,使用命令python setup.py install
- 使用步骤(创建Excel、遍历Excel、修改和保存Excel)。
- Part 1:创建Excel文件
from tempfile import TemporaryFilefrom xlwt import Workbookbook = Workbook()sheet1 = book.add_sheet('Sheet 1')book.add_sheet('Sheet 2')sheet1.write(0,0,'A1')sheet1.write(0,1,'B1')row1 = sheet1.row(1)row1.write(0,'A2')row1.write(1,'B2')sheet1.col(0).width = 10000sheet2 = book.get_sheet(1)sheet2.row(0).write(0,'Sheet 2 A1')sheet2.row(0).write(1,'Sheet 2 B1')sheet2.flush_row_data()sheet2.write(1,0,'Sheet 2 A3')sheet2.col(0).width = 5000sheet2.col(0).hidden = Truebook.save('simple.xls')book.save(TemporaryFile())
这样就生成了simple.xls 文件.
- Part 2:循环遍历Excel文件
import xlrdimport xlutils.copyimport osif __name__ == '__main__': wb = xlrd.open_workbook('simple.xls') for sht in wb.sheets(): print 'Sheet:',sht.name for row in range(sht.nrows): values = [] for col in range(sht.ncols): values.append(sht.cell(row,col).value) print ','.join(values) print
遍历整个excel 并打印出数据
- Part 3:修改和保存Excel
import xlrdimport xlutils.copyimport osif __name__ == '__main__': template = "simple.xls" workBook = xlrd.open_workbook(template,formatting_info=True) workBook = xlutils.copy.copy(workBook) sheet = workBook.get_sheet(0) sheet.write(0, 0, 'Name') sheet.write(0, 1, 'Area') sheet.write(1, 0, 'Info_nan') sheet.write(1, 1, 'Toutiao') workBook.save('simple.xls')
这样一个简单的使用Python读写Excel文件的功能就实现了!!!
文末再总结下xlutils处理Excel 文件的一些实用程序集合:
- xlutils.copy——复制 xlrd.Book 对象到 xlwt.Workbook 对象
- xlutils.display——在一个用户友好和安全的界面显示 xlrd 相关的对象
- xlutils.filter——分离和过滤 Excel 文件到新 Excel 文件的迷你框架
- xlutils.margins——查找有多少包括有效数据的 Excel 文件
- xlutils.save——序列化 xlrd.Book 对象
- xlutils.styles——格式化信息