Python对Excel的操作,基于两个包:xlrd和xlwt,分别负责读、写Excel文件。使用时,在程序的开头,直接引用即可。如:
视频讲解:EXCEL文件
import xlrd,xlwt
1.写工作薄
写excel文件分以下四个步骤
①创建工作簿,wb=xlwt.Workbook( )
②增加sheet,wb.add_sheet(ˈsheet1ˈ,cell_overwrite_ok=True),并对其引用ws1=wb.get_sheet(0)
③写单元格,ws1.write(row,col,值)
④保存excel文件,wb.save(文件名)
【例7.1.4】 模拟学生两门课的考试成绩表,保存成excel文件。
程序执行完毕后,将在d:盘根目录生成12.xls文件。
由于Microsoft Office版本的升级,Excel新版本的文件格式变成了xlsx,但xlwt不支持输出新版的xlsx文件,此时,可以用xlsxwriter代替,如下面代码:
2.读工作簿
打开一个Excel文件的格式为:
x=xlrd.open_workbook(excel文件名)
如:
x=xlrd.open_workbook(r"E:\teach\Python\data\test2.xlsx")
直接打开指定目录下的test2.xlsx文件。(www.daowen.com)
由于一个excel工作簿中可能存在多个sheet,所以在读数据时,还须指定sheet序号。
如下列语句指定excel工作簿的第一个sheet。
y=x.sheets( )[0]
指定工作簿后,可以按行或列获取数据,形成一个列表。如:
row1=y.row_values(0) #获取表的第一行
col1=y.col_values(0) #获取表的第一列
图7.1.6 excel文件
可以使用遍历的方式将整个sheet读进内存。此时,可使用sheet对象的nrows(所有行数)和ncols(所有列数)属性。
例如对图7.1.6的excel文件,按行读取,形成一个二维列表的程序如下:
【例7.1.5】 设excel文件的格式如图7.1.7所示(请注意:班级学生名单的学号,是以数值型存储的,成绩总表中的学号,是以字符串存储的,请注意Python读入后内存的差异),请使用xlrd重新完成数据的分拣。
图7.1.7 数据分拣程序的excel文件样例
程序的代码如下:
程序:excel数据分拣
处理得到的结果在列表result中,将其输出即可。读者可以将本段程序与7.1.2以文本方式处理的程序比对,体会xlrd包带来的便利。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。