小编给大家分享一下Python中Excel的基本操作,希望大家阅读完这篇文章后大所收获、下面让我们一起去探讨吧!
<强>读取Excel 强>
既然要操作Excel,那我们就需要先建立一个Excel。
首先在Excel中创建3个表,别跟我说不知道什么是表,可能你不适合看本篇内容。
测试使用Excel已经上传至代码仓库,有需要的同学可以取用。
Excel内容如下:
请先暂时忽略右下角的日期时间,这日期时间并无实际作用,仅用来演示使用。
这是一个表的数据,同样的表存在3个。
可能各位同学看到这个Excel以后大致能猜到小编要干啥了,对,没错,你猜对了,小编就是要算一下平均成绩。
那么用Excel自带的公式来算平均成绩不香么,非要用Python算,劳民伤财的。
Excel自带的函数确实强大,这个不得不服,但是,我如果要跨表的操作呢?本文要玩的骚操作就是要跨表计算平均成绩。
首先,我们需要导入第三方模块xlrd,因为是第三方的模块,没有安装的同学需要先安装。在命令行中输入:
pip install xlrd
等待进度条走完就好了。
<强>获取工作簿:强>
首先,我们需要在代码中打开我们刚才创建的Excel:
workbook =, xlrd.open_workbook (& # 39; test.xlsx& # 39;)
小编这里为了方便,将测试。xlsx和代码放在同一目录,实际在操作中需注意文件的路径问题,不管是使用相对路径还是绝对路径,都要写对。
<>实力较强的有关操作:强>
有关单的操作有很多,我们列举几个常用的:
#,输出所有,sheet 的名字 print (workbook.sheet_names ()) #,获取所有的,表 print (workbook.sheets ()) #,根据索引获取,表 打印(workbook.sheet_by_index (1)) #,根据名字获取,表 print (workbook.sheet_by_name(& # 39; 1班& # 39;))
输出结果我这里就不演示了,各位同学自己操作下就知道了:)
<强>常用操作:强>
获取行数和列数:
sheet1 =, workbook.sheets () [0] #,获取行数 打印(sheet1.nrows) #,获取列数 打印(sheet1.ncols)
结果如下:
6 4
获取整行和整列的数据(数据类型为列表):
#,获取第,2,行内容 打印(sheet1.row_values (1)) #,获取第,3,列内容 打印(sheet1.col_values (2)
结果如下:
[& # 39;小明& # 39;,,76.0,85.0,95.0,& # 39;& # 39;】 [& # 39;数学& # 39;,,85.0,58.0,96.0,& # 39;& # 39;,,& # 39;& # 39;]
获取单元格的数据:
cell1 =, sheet1.cell (1, 1) value #,行索引 时间=cell2 sheet1.row (1) [1]。value 时间=cell3 sheet1.cell (1, 2) value #,列索引 时间=cell4 sheet1.col (2) [1]。值
结果如下:
76.0,76.0,85.0,85.0
获取日期类型数据:
date_value =, xlrd.xldate_as_datetime (sheet1.cell_value (5, 3), workbook.datemode) print(类型(date_value), date_value)
结果如下:
& lt; class & # 39; datetime.datetime& # 39;祝辞,2019 - 11 - 07,20:49:05
这里是直接通过方法将数据转成了datetime类型,xlrd还提供了可以将数据转成元组,然后再将元组转成日期。
date_tulp =, xlrd.xldate_as_tuple (sheet1.cell_value (5, 3), workbook.datemode) print(类型(date_tulp), date_tulp) 年,月,日,小时,分钟,second =date_tulp 打印(datetime.datetime(年,月,日,,小时,分钟,秒))
结果如下:
& lt; class & # 39;元组# 39;祝辞,(2019年,11日,7日,20岁,49岁,5) 2019 - 11 - 07,20:49:05
看完了这篇文章,相信你对Python中Excel的基本操作有了一定的了解,想了解更多相关知识,欢迎关注行业资讯频道,感谢各位的阅读!