小编给大家分享一下Python中Excel的基本操作,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!

读取 Excel

既然要操作 Excel ,那我们就需要先建立一个 Excel 。

首先在 Excel 中创建 3 个 Sheet ,别跟我说不知道什么是 Sheet ,可能你不适合看本篇内容。

测试使用 Excel 已经上传至代码仓库,有需要的同学可以取用。

Excel 内容如下:

请先暂时忽略右下角的日期时间,这日期时间并无实际作用,仅用来演示使用。

这是一个 Sheet 的数据,同样的 Sheet 存在 3 个。

可能各位同学看到这个 Excel 以后大致能猜到小编要干啥了,对,没错,你猜对了,小编就是要算一下平均成绩。

那么用 Excel 自带的公式来算平均成绩不香么,非要用 Python 算,劳民伤财的。

Excel 自带的函数确实强大,这个不得不服,但是,我如果要跨 Sheet 的操作呢?本文要玩的骚操作就是要跨 Sheet 计算平均成绩。

首先,我们需要导入第三方模块 xlrd ,因为是第三方的模块,没有安装的同学需要先安装。在命令行中输入:

pipinstallxlrd

等待进度条走完就好了。

获取 workbook:

首先,我们需要在代码中打开我们刚才创建的 Excel :

workbook=xlrd.open_workbook('test.xlsx')

小编这里为了方便,将 test.xlsx 和代码放在同一目录,实际在操作中需注意文件的路径问题,不管是使用相对路径还是绝对路径,都要写对。

Sheet 有关操作:

有关 Sheet 的操作有很多,我们列举几个常用的:

#输出所有sheet的名字print(workbook.sheet_names())#获取所有的sheetprint(workbook.sheets())#根据索引获取sheetprint(workbook.sheet_by_index(1))#根据名字获取sheetprint(workbook.sheet_by_name('1班'))

输出结果我这里就不演示了,各位同学自己操作下就知道了:)

常用操作:

获取行数和列数:

sheet1=workbook.sheets()[0]#获取行数print(sheet1.nrows)#获取列数print(sheet1.ncols)

结果如下:

64

获取整行和整列的数据(数据类型为列表):

#获取第2行内容print(sheet1.row_values(1))#获取第3列内容print(sheet1.col_values(2))

结果如下:

['小明',76.0,85.0,95.0,'']['数学',85.0,58.0,96.0,'','']

获取单元格的数据:

cell1=sheet1.cell(1,1).value#行索引cell2=sheet1.row(1)[1].valuecell3=sheet1.cell(1,2).value#列索引cell4=sheet1.col(2)[1].value

结果如下:

76.076.085.085.0

获取日期类型数据:

date_value=xlrd.xldate_as_datetime(sheet1.cell_value(5,3),workbook.datemode)print(type(date_value),date_value)

结果如下:

<class'datetime.datetime'>2019-11-0720:49:05

这里是直接通过方法将数据转成了 datetime 类型, xlrd 还提供了可以将数据转成元组,然后再将元组转成日期。

date_tulp=xlrd.xldate_as_tuple(sheet1.cell_value(5,3),workbook.datemode)print(type(date_tulp),date_tulp)year,month,day,hour,minute,second=date_tulpprint(datetime.datetime(year,month,day,hour,minute,second))

结果如下:

<class'tuple'>(2019,11,7,20,49,5)2019-11-0720:49:05

看完了这篇文章,相信你对Python中Excel的基本操作有了一定的了解,想了解更多相关知识,欢迎关注亿速云行业资讯频道,感谢各位的阅读!