2026/8/16 7:16:40

python处理xls文件

python处理xls文件 1、读取xls文件的数据import xlrd # 使用xlrd模块的open_workbook函数打开指定Excel文件并获得Book对象工作簿 wb xlrd.open_workbook(rD:\BaiduNetdiskDownload\数据文件\2022年股票数据.xls) # 通过Book对象的sheet_names方法可以获取所有表单名称 sheetnames wb.sheet_names() print(sheetnames) # 通过指定的表单名称获取Sheet对象工作表 sheet wb.sheet_by_name(sheetnames[0]) # 通过Sheet对象的nrows和ncols属性获取表单的行数和列数 print(sheet.nrows, sheet.ncols) for row in range(sheet.nrows): for col in range(sheet.ncols): # 通过Sheet对象的cell方法获取指定Cell对象单元格 # 通过Cell对象的value属性获取单元格中的值 value sheet.cell(row, col).value # 对除首行外的其他行进行数据格式化处理 if row 0: # 第1列的xldate类型先转成元组再格式化为“年月日”的格式 if col 0: # xldate_as_tuple函数的第二个参数只有0和1两个取值 # 其中0代表以1900-01-01为基准的日期1代表以1904-01-01为基准的日期 value xlrd.xldate_as_tuple(value, 0) value f{value[0]}年{value[1]:02d}月{value[2]:02d}日 # 其他列的number类型处理成小数点后保留两位有效数字的浮点数 else: value f{value:.2f} print(value, end\t) print() # 获取最后一个单元格的数据类型 # 0 - 空值1 - 字符串2 - 数字3 - 日期4 - 布尔5 - 错误 last_cell_type sheet.cell_type(sheet.nrows - 1, sheet.ncols - 1) print(last_cell_type) # 获取第一行的值列表 print(sheet.row_values(0)) # 获取指定行指定列范围的数据列表 # 第一个参数代表行索引第二个和第三个参数代表列的开始含和结束不含索引 print(sheet.row_slice(3, 0, 5))数据是这样的。2、把数据写入xlsimport random import xlwt student_names [关羽, 张飞, 赵云, 马超, 黄忠] scores [[random.randrange(50, 101) for _ in range(3)] for _ in range(5)] # 创建工作簿对象Workbook wb xlwt.Workbook() # 创建工作表对象Worksheet sheet wb.add_sheet(一年级二班) # 添加表头数据 header_style xlwt.XFStyle() pattern xlwt.Pattern() pattern.pattern xlwt.Pattern.SOLID_PATTERN # 0 - 黑色、1 - 白色、2 - 红色、3 - 绿色、4 - 蓝色、5 - 黄色、6 - 粉色、7 - 青色 pattern.pattern_fore_colour 5 header_style.pattern pattern titles (姓名, 语文, 数学, 英语) for index, title in enumerate(titles): sheet.write(0, index, title, header_style) # 将学生姓名和考试成绩写入单元格 for row in range(len(scores)): sheet.write(row 1, 0, student_names[row]) for col in range(len(scores[row])): sheet.write(row 1, col 1, scores[row][col]) # 保存Excel工作簿 wb.save(考试成绩表.xls)有设置字体颜色写入后的数据是这样的