人生苦短,我选Python

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

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

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

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

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

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

对Python感兴趣或者是正在学习的小伙伴,可以加入我们的Python学习扣qun:855408893 ,从0基础的python脚本到web开发、爬虫、django、数据挖掘数据分析等,0基础到项目实战的资料都有整理。送给每一位python的小伙伴!每晚分享一些学习的方法和需要注意的小细节,学习路线规划,利用编程赚外快。点击加入我们的 python学习圈

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

今天的重头戏是求平均数,但是我不想在文章里贴代码了,只好请各位同学自己动下手咯~~~

Python3入门教程:Excel 基础操作(上)相关推荐

  1. Bamboo入门教程及基础操作

    买Bamboo上CSDN,特殊折扣购买通道:http://bss.csdn.net/module/btc/atlassian/prduct_detail?project=445&module= ...

  2. python3 excel数据处理_求推荐python3入门教程,适合新手的(python excel数据处理)

    excel和python哪个难学 excel 分应用和VBA编程,phthon本就是编程语言,对数据分析来说,excel足够了,而且是最容易学习的数据处理与分析应用软件,Python肯定比excel难 ...

  3. python向量计算库教程_NumPy库入门教程:基础知识总结

    原标题:NumPy库入门教程:基础知识总结 视学算法 | 作者 知乎专栏 | 来源 numpy可以说是 Python运用于人工智能和科学计算的一个重要基础,近段时间恰好学习了numpy,pandas, ...

  4. sql数据库教程百度云_【推荐】零基础水彩画入门教程|零基础水彩教程百度云...

    零基础水彩画入门教程|零基础水彩教程百度云! 照着教程画却总是画不好,这些水彩技法你真的学会了吗? 盲目地照着葫芦画瓢,不懂控制确实很难学会,可以关注一下公众号:每日学绘画,可以领取水彩电子书和全套视 ...

  5. [转载]VBS入门教程 VBS基础教程

    [转载]VBS入门教程 VBS基础教程(收藏) VBS基础教程 VBS(VBScript的进一步简写)是基于Visual Basic的脚本语言. Microsoft Visual Basic是微软公司 ...

  6. style 字体加粗_第9篇 Qt Quick入门教程之基础(九)文本显示和字体

    导语 文本显示是界面开发必不可少的内容,在Qt Quick模块中提供了 Text 项目来进行文本的显示,其中可以使用 font 属性组对文本字体进行设置.这一篇我们来看看它们的具体使用. 使用字体 就 ...

  7. python3实现链表的基础操作

    python3实现链表的基础操作 实现的步骤: 一.建立链表模型 二.遍 历 链 表 三.获取链表长度 四.追 加 节 点 五.插 入 操 作 六.主 调 函 数 分析: (1)建立链表模型: 首先我 ...

  8. 戴师兄数据分析学习day02——Excel基础操作

    戴师兄数据分析学习day02--Excel基础操作 数据预览 词汇解释 数据透视图 常用函数 1. SUM 求和 2. SUMIF 单条件求和 3. SUMIFS 多条件求和 4. SUBTOTAL ...

  9. [数据与分析可视化] D3入门教程1-d3基础知识

    d3.js入门教程1-d3基础知识 文章目录 d3.js入门教程1-d3基础知识 1 HTML介绍 1.1 什么是HTML? 1.2 自定义文档样式CSS 1.3 构建svg图形 2 d3绘图入门 2 ...

  10. 小白学 Python(24):Excel 基础操作(下)

    人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...

最新文章

  1. 设计模式:状态模式(State)
  2. WRF参数配置(PartI)
  3. Gym - 100851F Froggy Ford kruskal
  4. 如何用GoldWave交叉淡化两首音乐?
  5. Block insecure private network requests
  6. clion-debug调试步骤
  7. 商务周刊:别了,摩托罗拉
  8. Android ---创建APP数据库
  9. 快速准确读取发票信息——发票扫描识别系统
  10. OpenGL 动画的制作
  11. 最详细职场面试题目(一)
  12. iPad 4.2.1 非完美越狱
  13. 【pthread_cancel函数:避免踩坑】
  14. 分享我四五月份面试阿里、字节跳动、携程、小红书、网易的面试经历,原来Java面试还是需要有技巧的。
  15. uniapp 中 Cannot read property ‘length‘ of undefined 报错处理
  16. 变革:区块链上的政府和企业应用
  17. 管家婆数据库823错误,并闩锁页错误数据恢复成功
  18. 进展杂志进展杂志社进展编辑部2022年第5期目录
  19. linux运维工程师培训课程_Linux运维工程师工作内容总结!
  20. layui前端web开发框架

热门文章

  1. 四象限分析法分析你是否适合做管理
  2. 求:生意参谋 data 破解,最好是用php
  3. javaScript-力扣-题库-11. 盛最多水的容器
  4. 小精灵无尽的长廊_神奇宝贝之无尽系统
  5. Windows11中无法找到Office 2019 application的解决方案
  6. debian通过odbc连接mysql_PHP从Debian Etch使用ODBC和FreeTDS访问MSSQL数据库
  7. html实现正方体原理,CSS3 实现正方体
  8. 回忆真是一个痛苦的过程
  9. 百度与谷歌地图瓦片组织方式对比
  10. 利用python爬取飞猪信息_Python---20行代码爬取斗鱼平台房间数据(下)-阿里云开发者社区...