一、读取操作步骤
(1)导入模块xlrd
(2)打开工作簿Book
(3)指定工作薄中的表单Sheet
(4)根据行列序号读取内容
1、示例
读取Stu_pack中的Excel文件内容school.xls,将结果保存以列表中
打开工作簿:xlrd.open_workbook('../Stu_pack/school.xls','rt')
需注意:1)读取excel文件时workbook的w需小写
2)指定表单 :sheet_by_index(0);索引从‘0’开始,即‘0’表示第一个表单,‘1’表示第二个表单。
3)Excel列表是行和列形式存在,所以可以给excel定义一个二维列表的模具。
4)nrows表单行数;ncols表单列数
5)school.append() ,schools().append将获取到的内容分别追加填充一维列表和二维列表
6)for school in schools 遍历表单
输出界面只要11行的两种做法:
1)直接改变二维列表中里的内容进行输出。
2)二维列表中的内容不进行改变,在最后输出时进行行数判断遍历输出。
二、Excel文件的写入操作步骤
(1)导入模块:xlwt
(2)构造工作簿:Workbook
(3)为工作簿添加工作表:Worksheet
(4)根据行列序号写入内容
(5)保存文件
2、示例2
将示例1读取的Excel文件内容,写入到另一个Excel中并保存到R&Q_pic中。
对学校所在省份进行简单判断。第一行合并单元格显示标题。
先写入读取文本文件的代码,方法同上。
(1)创建excel文件:xlwt.Workbook()注意:W需要大写,括号内编码为utf-8,以支持中文。
(2)add_sheet() 添加表单
(3)write_merge(行序1,行序2,列序1,列序2,内容,样式) 合并指定范围单元格,并指定内容。行序1,行序2指的是第一个单元格的行和最后一个单元格的行,列序1和2同理。行序从0开始,即行序0是第一行,行序1是第二行,列序同理。
write_merge(0,0,0,6,'上海市高校信息表')表示合并0行0到6列的单元格,并指定内容为上海市高校信息表。
(4)向单元格添加内容:write(行序,列序,内容,样式)
sheet.write(1,col,schools[0][col]) 表示在行序为1的第二行添加school表单行序为0的第一行内容。
(5)row_num1行数已定,school[num2]可以直接表示某个单元格。(可以对内容筛选。)