Excel数据的写入和读取

Python操作的Excel库有xlrd、xlwt、pyExcelerator和openpyxl。其中,pyExcelerator只支持2003版本,openpyxl只支持2007版本,xlrd支持Excel任何版本的读取,xlwt支持Excel任何版本的写入。

Excel的写入相对比CVS复杂,Excel可以实现设置数据格式、合并单元格、设置公式和插入图片等功能。使用xlwt实现上述功能的代码如下:

import xlwt

#新建一个Excel文件

wb = xlwt.Workbook()

#新建一个sheet

ws = wb.add_sheet('Python',cell_overwrite_ok=True)

#定义字体对齐方式对象

alignment = xlwt.Alignment()

#设置水平方向

alignment.horz = xlwt.Alignment.HORZ_CENTER

#设置垂直方向

alignment.vert = xlwt.Alignment.VERT_CENTER

#定义格式对象

style = xlwt.XFStyle()

style.alignment = alignment

#合并单元格write_merge(开始行,结束行,开始列,结束列,内容,格式)

ws.write_merage(0,0,0,5,'Python网络爬虫',style)

#写入数据wb.write(行,列,内容)

写入数据

代码依次实现的功能如下。

 设置字体水平垂直居中:该功能实现共分为两步,第一步是定义xlwt.Alignment()对象,分别设置其水平方向和垂直方向的属性;第二步是定义xlwt.XFStyle()对象,将设置好的Alignment()对象赋予XFStyle()对象。在写入数据的时候,XFStyle()对象作为write_merge()方法的参数。

 合并单元格:主要由write_merge(开始行,结束行,开始列,结束列,内容,格式)方法实现。

 生成表格并计算每行总和:通过嵌套循环生成5行6列的表格,第1到第5列的数据写入由write()方法实现;第6列数据是累计求和,由Excel自带公式实现。

 插入图片:图片插入是由insert_bitmap(img, x, y, x1, y1, scale_x=0.8, scale_y=1)实现的,图片格式必须为bmp,否则无法插入并提示错误。

把数据写入Excel的整体思路如下:

(1)xlwt创建生成临时Excel对象。

(2)添加WorkSheets对象。

(3)单元格的位置由行列索引决定,索引从0开始。

(4)数据写入主要由write_merge()和write()实现,两者分别是合并单元格再写入和单元格写入。

(5)设置数据格式是在写入(write_merge()和write())的数据中传入参数style。

接着读取Excel数据,由xlrd模块实现,我们以上述已生成的Excel为读取目标,代码如下:

读取数据

读取Excel的数据思路大致如下:

(1)xlrd生成Workbook对象,并指向Excel文件。

(2)选择Workbook里某个WorkSheets对象。

(3)获取WorkSheets里数据已占用的总行数和总列数(某个单元格数据)。

(4)循环总行数和总列数,读取每一个单元格的数据。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容