张小白带你跟着小Mi老师学习用Python操作Excel

网友投稿 570 2022-05-30

MindSpore团队的小Mi老师在MindSpore论坛有个干货系列——【跟着小Mi一起机器学习吧!】

张小白特意整理了一下,到目前为止,有以下内容:

【跟着小Mi一起机器学习吧!】2021.5.18 介绍篇 https://bbs.huaweicloud.com/forum/thread-128661-1-1.html

【跟着小Mi一起机器学习吧!】2021.5.26 那些我们快要遗忘的线性代数知识点 https://bbs.huaweicloud.com/forum/thread-130462-1-1.html

【跟着小Mi一起机器学习吧!】2021.5.29 单变量线性回归(一)https://bbs.huaweicloud.com/forum/thread-131009-1-1.html

【跟着小Mi一起机器学习吧!】2021.6.3 单变量线性回归(二)https://bbs.huaweicloud.com/forum/thread-131701-1-1.html

【跟着小Mi一起机器学习吧!】2021.6.9 多变量线性回归(一)https://bbs.huaweicloud.com/forum/thread-132434-1-1.html

【跟着小Mi一起机器学习吧!】2021.6.16 多变量线性回归(二)https://bbs.huaweicloud.com/forum/thread-133107-1-1.html

【跟着小Mi一起机器学习吧!】2021.6.22 逻辑回归(一)https://bbs.huaweicloud.com/forum/thread-133654-1-1.html

【跟着小Mi一起机器学习吧!】2021.6.28 逻辑回归(二)https://bbs.huaweicloud.com/forum/thread-135362-1-1.html

【跟着小Mi一起机器学习吧!】2021.7.9 神经网络表述(一)https://bbs.huaweicloud.com/forum/thread-138471-1-1.html

【跟着小Mi一起机器学习吧!】2021.7.13 神经网络表述(二)https://bbs.huaweicloud.com/forum/thread-139405-1-1.html

【跟着小Mi一起机器学习吧!】2021.7.23 神经网络的学习(上)https://bbs.huaweicloud.com/forum/thread-142545-1-1.html

【跟着小Mi一起机器学习吧!】2021.7.31 神经网络的学习(下)https://bbs.huaweicloud.com/forum/thread-144685-1-1.html

【跟着小Mi一起机器学习吧!】2021.8.6 关于应用机器学习时的一些建议 https://bbs.huaweicloud.com/forum/thread-146476-1-1.html

【跟着小Mi一起机器学习吧!】2021.8.13 机器学习系统的设计 https://bbs.huaweicloud.com/forum/thread-147204-1-1.html

【跟着小Mi一起机器学习吧!】2021.8.20 支持向量机(上)https://bbs.huaweicloud.com/forum/thread-148577-1-1.html

【跟着小Mi一起机器学习吧!】2021.8.28 支持向量机(中)https://bbs.huaweicloud.com/forum/thread-150652-1-1.html

【跟着小Mi一起机器学习吧!】2021.9.3 支持向量机(下)https://bbs.huaweicloud.com/forum/thread-152321-1-1.html

【跟着小Mi一起机器学习吧!】2021.9.17 聚类算法 https://bbs.huaweicloud.com/forum/thread-155839-1-1.html

张小白相信,小Mi老师还会接着写下去的,所以想学机器学习的人可以关注下。

张小白带你跟着小Mi老师学习用Python操作Excel

当然,小Mi老师最近发了一个Python操作excel的帖子( https://bbs.huaweicloud.com/forum/forum.php?mod=viewthread&tid=154274 ),听说照着帖子去实践还会有抽奖,这点首先张小白肯定自己不会拉下,其次也不会让其他的奖品爱好者拉下,所以就让张小白跟着小Mi老师的节奏开始实操吧!

张小白的思路是,先在机器上装好JupyterLab环境,然后在JupyterLab环境下操作即可。有JupyterLab环境的人可以跳过前面的步骤直接进JupyterLab去操作Excel。

按照 《张小白教你在Windows上使用JupyterLab体验MindSpore1.2.0 》( https://bbs.huaweicloud.com/blogs/260796 )的方式装好mindspore 1.3.0和Jupyter Lab:

安装Anaconda

(参见链接 第一步:安装Anaconda)

创建conda环境,顺便安装下mindspore

(参见链接第二步:使用conda安装MindSpore)其实也可以不装mindspore。。

安装jupyter和jupyterlab

。。。

。。。

。。。

创建一个jupyter lab运行的目录 D:\ipynb

进入该目录,启动jupyter lab:

浏览器打开上图箭头所指的链接,进入JupyterLab界面:

点击箭头所指的Python3图标,新建一个Notebook

先验证下mindspore安装:

!python -c "import mindspore;mindspore.run_check()"

好像张小白多此一举了,直接import mindspore;mindspore.run_check()好像也行。。。

这个时候会报一个错,显然这个somas_meta目录不存在。所以可以在ipynb目录下创建这个目录:

重新执行这个cell

仍然报了个找不到指定模块的错,张小白咨询了下mindspore的专家,答复说这是1.3版本的BUG,在1.4版本修复了,所以张小白也不必多管他,反正这次并没有用到MindSpore(只是张小白在夹带私货)

小Mi老师的帖子会让张小白打开另一个文档 :

《可能是全网最完整的 Python 操作 Excel库总结!》( https://mp.weixin.qq.com/s?__biz=Mzg5OTU3NjczMQ==&mid=2247512088&idx=1&sn=64dd609a958d00432dd37484c0d0c382&chksm=c053d6ecf7245ffa39ad6e38bebcff03452271886a8722a5b9ae5f822b3266cda7451fa2a2fc&scene=178&cur_album_id=1732621983021858819#rd )

仔细阅读后,发现需要pip安装一些excel相关的包,那就在这里安装吧:

!pip install xlrd -i https://pypi.tuna.tsinghua.edu.cn/simple !pip install xlwt -i https://pypi.tuna.tsinghua.edu.cn/simple !pip install xlutils -i https://pypi.tuna.tsinghua.edu.cn/simple !pip install xlwings -i https://pypi.tuna.tsinghua.edu.cn/simple !pip install XlsxWriter -i https://pypi.tuna.tsinghua.edu.cn/simple !pip install openpyxl -i https://pypi.tuna.tsinghua.edu.cn/simple !pip install pandas -i https://pypi.tuna.tsinghua.edu.cn/simple

然后需要import一些excel的库(其实也可以用的时候再import,但是先一股脑儿的import其实也没事儿吧。。。)

import xlrd import xlwt import xlwings as xw import xlsxwriter import openpyxl import pandas as pd

张小白拿出当年研究过的CANN训练营第二期的奖品价格的表格文件price.xlsx:(至于为啥曾经要研究请不要猜)

然后执行下列脚本:

from openpyxl import load_workbook workbook = load_workbook( filename = "price.xlsx") print(workbook.sheetnames) #sheet = workbook.active sheet=workbook['工作表1'] print(sheet.dimensions) cell1 = sheet["C5"] print("C5:" , cell1.value) cell2 = sheet["A7"] print("A7:", cell2.value)

上面的语句意思大概如下:

打开一个叫做price.xlsx的文件,找到激活的sheet(或者sheet名称为 工作表1的sheet),看一下这个表格的大小,然后打印表格的C5栏位和A7栏位的内容。

运行的结果如下:

看来,excel中特定的网格内容都读出来了。

张小白把price.xlsx文件复制了一份,改名为price2.xlsx,并且加了一列:(乱写的)

那么,我们来一次读取多个文件:

import re import os import pandas as pd files = [ i for i in os.listdir("./") if i.endswith("xlsx")] for filename in files: print(filename) print(pd.read_excel(filename))

这里是查看目录下所有带xlsx的文件,循环打印出文件名称和excel文件的内容。

此时需要注意,如果你正在编辑一个excel文件,系统会在同样的目录下生成个不可见的xlsx文件,这样有可能这个语句会报错。记得把excel关闭后再执行就行了。

关闭excel后的执行结果如下:

(请记住第一列是高达基地XXX)

再来试试改写excel文件,使用drop和to_excel:

for filename in files: file=pd.read_excel(filename) filenew=file.drop(file.index[0]) pd.DataFrame.to_excel(filenew,str(filename),na_rep='.',index=False)

执行完毕,好像没啥动静:

但是再打开两个excel文件看看:

高达基地已经不见了。。。(但是不知道为啥,第一列多了个Unnamed: 0)

这就成功地完成了小Mi老师的作业。

其实Python操作Excel的内容还有很多,如果下次用到的时候,记得从这里找到相关的资料哦。。。多跟着小Mi老师学学,一定会有收获的。。

(全文完,谢谢阅读)

Python

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:单片机理论与实践课程总结与补充材料
下一篇:【愚公系列】2022年02月 Django商城项目 26-搜索引擎功能实现
相关文章