知行编程网知行编程网  2022-12-06 18:00 知行编程网 隐藏边栏  8 
文章评分 0 次,平均分 0.0
导语: 本文主要介绍了关于Python新手入门:Excel基本操作(一)的相关知识,希望可以帮到处于编程学习途中的小伙伴


Python入门:Excel基本操作(一)


读取 Excel

不知道大家有没有看过Python操作Excel的广告。小编看过很多次,只要9.9元就能学会。今天小编就为大家带来Python操作Excel的免费入门教程。

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

Python入门:Excel基本操作(一)

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

Python入门:Excel基本操作(一)

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

先在Excel中创建3张Sheet,别告诉我你不知道什么是Sheet,也许你不适合看这篇文章。

测试用的Excel已经上传到代码仓库,有需要的同学可以访问。

Excel 内容如下:

Python入门:Excel基本操作(一)

请暂时忽略右下角的日期和时间。该日期和时间没有实际作用,仅用于演示。

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

各位同学看到这个Excel大概能猜到小编要干什么了。是的,没错,你没看错,小编就是想算平均分。

所以用Excel自带的公式计算平均分是不好的。如果非要用Python来计算,那是浪费时间和金钱。

Excel内置的功能确实强大,这点不得不接受,但是如果我想跨Sheets操作怎么办?本文要玩的show操作是计算跨Sheets的平均分。

首先我们需要导入第三方模块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学习网,免费的在线学习
,欢迎关注!

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

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写
扫一扫二维码分享