当前位置: 首页 > Python编程 > Python编程实战技能 > Python编程基础入门 > Python新手入门 Excel基本操作(一)

Python新手入门 Excel基本操作(一)

发布时间:2020年09月27日 09:32:31 来源: 点击量:419

【摘要】读取 Excel不知道各位同学有没有见过有关 Python 操作 Excel 的广告。小编是见过好多次的,还只需 ¥9 9 就能学习,今天小编就为大

读取 Excel

不知道各位同学有没有见过有关 Python 操作 Excel 的广告。小编是见过好多次的,还只需 ¥9.9 就能学习,今天小编就为大家带来免费的 Python 操作 Excel 的入门教程。

仔细看,仔细学,本文价值 ¥9.9 哦~~~

这牛逼吹得我自己都有点脸红。

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

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

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

Excel 内容如下:

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

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

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

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

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

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

pip install xlrd

等待进度条走完就好了。

获取 workbook:

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

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

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

Sheet 有关操作:

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

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

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

常用操作:

获取行数和列数:

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

结果如下:

6
4

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

# 获取第 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].value
cell3 = sheet1.cell(1, 2).value
# 列索引
cell4 = sheet1.col(2)[1].value

结果如下:

76.0 76.0 85.0 85.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-07 20: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_tulp
print(datetime.datetime(year, month, day, hour, minute, second))

结果如下:

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

python学习网,免费的在线学习python平台,欢迎关注!

本文转自:https://blog.csdn.net/meteor_93/article/details/103116684

分享到: 编辑:wangmin

就业培训申请领取
您的姓名
您的电话
意向课程
点击领取

环球青藤

官方QQ

扫描上方二维码或点击一键加群,免费领取大礼包,加群暗号:青藤。 一键加群

绑定手机号

应《中华人民共和国网络安全法》加强实名认证机制要求,同时为更加全面的体验产品服务,烦请您绑定手机号.

预约成功

本直播为付费学员的直播课节

请您购买课程后再预约

环球青藤移动课堂APP 直播、听课。职达未来!

安卓版

下载

iPhone版

下载
环球青藤官方微信服务平台

刷题看课 APP下载

免费直播 一键购课

代报名等人工服务

课程咨询 学员服务 公众号

扫描关注微信公众号

APP

扫描下载APP

返回顶部