用Python完成Excel的常用操作-简书,python 对excel操作用法详解
大家平时在工作学习中都会操作Excel文件格式,尤其是在数据很多的时候。人工识别操作非常容易出错。今天我就带大家用Python处理Excel文件,让你成为别人眼中的showman。
00-1010工具读取Excel文件内容,写入Excel文件内容,调整Excel文件样式,设置页眉位置,设置单元格宽度和高度汇总
目录
python3.7
路径
超过
xlwtxlrd
工具
当前文件夹下有一个名为“Stock Data.xlsx”的Excel文件。可以按照以下代码方法操作。
导入xlrd
#使用xlrd模块的open_workbook函数打开指定的Excel文件,获取book对象(工作簿)
WB=xlrd . open _ workbook( stock data . xlsx )
#可以通过Book对象的sheet_names方法获取所有的表单名称。
sheetname=wb.sheet_names()[0]
#通过指定的表单名称获取工作表对象(工作表)
工作表=wb .工作表名称(工作表名称)
#通过Sheet对象的nrows和ncols属性获取表单的行数和列数
print(sheet.nrows,sheet.ncols)
对于范围(sheet.nrows):中的行
对于范围内的列(sheet.ncols):
#通过Sheet对象的cell方法获取指定的cell对象(Cell)。
#通过Cell对象的value属性获取单元格中的值
value=sheet.cell(行,列)。价值
#对除第一行之外的其他行执行数据格式化。
如果行0:
#第1列中的xldate类型首先被转换为元组,然后被格式化为“年、月和日”
如果col==0:
# xldate_as_tuple函数的第二个参数只有0和1值。
#其中0表示基于1900年1月1日的日期,1表示基于1904年1月1日的日期。
value=xlrd.xldate_as_tuple(值,0)
Value=f{value[0]}年{value[1]:02d}月{value[2]:02d}日
#其他列的数字类型被视为小数点后有两位有效数字的浮点数。
else:
value=f“{ value :2 f }”
print(value,end=\t )
打印()
#获取最后一个单元格的数据类型
# 0-空,1-字符串,2-数字,3-日期,4-布尔,5-错误
last _ cell _ type=sheet . cell _ type(sheet . nrows-1,sheet.ncols - 1)
打印(最后一个单元格类型)
#获取第一行(列表)的值
print(sheet.row_values(0))
#获取指定行和列范围的数据(列表)。
#第一个参数表示行索引,第二个和第三个参数表示列的开始(包括)和结束(不包括)索引。
print(sheet.row_slice(3,0,5))
读取Excel文件内容
Excel文件写入可以通过xlwt模块的workbook类创建workbook对象,通过workbook对象的add_sheet方法添加工作表,通过workbook对象的write方法将数据写入指定单元格,最后通过Workbook对象的save方法将Workbook写入指定文件或内存。下面的代码操作学生成绩单的书写。
随机导入
导入xlwt
Student_names=[关羽,张飞,赵云,马超,黄忠]
分数=[[random.randint(40
, 100) for _ in range(3)] for _ in range(5)]
# 创建工作簿对象(Workbook)
wb = xlwt.Workbook()
# 创建工作表对象(Worksheet)
sheet = wb.add_sheet(一年级二班)
# 添加表头数据
titles = (姓名, 语文, 数学, 英语)
for index, title in enumerate(titles):
sheet.write(0, index, title)
# 将学生姓名和考试成绩写入单元格
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(考试成绩表.xlsx)
Excel文件样式调整
还可以通过XFStyle
对象来设置单元格的不同样式。主要包括字体(Font)、对齐方式(Alignment)、边框(Border)和背景(Background)的设置。
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)
设置表头的位置
align = xlwt.Alignment()# 垂直方向的对齐方式
align.vert = xlwt.Alignment.VERT_CENTER
# 水平方向的对齐方式
align.horz = xlwt.Alignment.HORZ_CENTER
header_style.alignment = align
设置单元格的宽高
# 设置行高为40pxsheet.row(0).set_style(xlwt.easyxf(ffont:height {20 * 40}))
titles = (姓名, 语文, 数学, 英语)
for index, title in enumerate(titles):
# 设置列宽为200px
sheet.col(index).width = 20 * 200
# 设置单元格的数据和样式
sheet.write(0, index, title, header_style)
总结
其他操作Excel文件的三方库(如openpyxl)大家有兴趣可以自行了解。掌握了Python程序操作Excel的方法,可以解决日常办公中很多繁琐的处理Excel电子表格工作,最常见就是将多个数据格式相同的Excel文件合并到一个文件以及从多个Excel文件或表单中提取指定的数据。当然,如果要对表格数据进行处理,使用Python数据分析神器之一的pandas库可能更为方便,因为pandas库封装的函数以及DataFrame类可以完成大多数数据处理的任务。
到此这篇关于Python自动操作Excel文件的方法详解的文章就介绍到这了,更多相关Python操作Excel内容请搜索盛行IT软件开发工作室以前的文章或继续浏览下面的相关文章希望大家以后多多支持盛行IT软件开发工作室!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。