阅读本文大约需要 5 分钟
主要内容:Excel 办公自动化和数据分析
适用人群:办公室职员 / Python 初学者 / 有志从事数据分析工作的人员
准备内容:Anaconda-Spyder,Pandas库
不会安装库的可以参考如下教程:
Anaconda如何安装Python库
摘 要
网上、书上已经有很多关于数据分析的教程,但是OF抱着把数据分析讲得最完整、最简单和最实用的使命感,让大家真正掌握Pandas,并将其运用得炉火纯青。
1、Pandas的数据结构,即基础原理(学习下会对后面的学习事半功倍)
轻松学Python数据分析1-最简单实用的Pandas讲解
2、数据读取和生成
3、数据处理(数据的清洗等)
4、数据可视化图表
5、项目实战
今天开始我们要介绍实际的应用了,先来介绍下第2部分:怎么读取Excel的数据和生成Excel。
读取Excel
若读取的路径与python在一个文件夹下,直接写文件名即可,若不在一个文件夹下,需要写出完整路径。
import pandas as pddf = pd.read_excel('./data/test_insert.xlsx') #文件路径print(df)
head( n ) 方法用于读取前面的 n 行,如果不填参数 n ,默认返回 5 行。
import pandas as pddf = pd.read_excel('./data/test_insert.xlsx') #文件路径print(df.head(2))
运行结果:
单号 数量 时间差 创建时间 审核日期 大类代码 大类名称 0 SD190721004 5 21.697014 2019-10-27 16:45:53 2019-10-28 1 效果1 SD191016007 6 115.231053 2019-10-27 15:21:25 2019-10-28 2 其它
读取后几行内容:tail( n ) 方法用于读取尾部的 n 行,如果不填参数 n ,默认返回 5 行,空行各个字段的值返回 NaN。
import pandas as pddf = pd.read_excel('./data/test_insert.xlsx') #文件路径print(df.tail(3))
运行结果:
单号 数量 时间差 创建时间 审核日期 大类代码 大类名称19 SD191025004 25.0 52.976748 2021-04-07 00:00:00 2019-10-28 5.0 尺寸20 SD191022004 27.0 52.976748 2019-10-27 14:52:53 2019-12-02 5.0 尺寸21 SD191022005 NaN NaN NaT NaT
info() 方法返回表格的一些基本信息。
import pandas as pddf = pd.read_excel('./data/test_insert.xlsx') #文件路径print(df.info())
运行结果:
<class 'pandas.core.frame.DataFrame'>RangeIndex: 22 entries, 0 to 21Data columns (total 7 columns):单号 22 non-null object数量 21 non-null float64时间差 21 non-null float64创建时间 21 non-null datetime64[ns]审核日期 21 non-null datetime64[ns]大类代码 21 non-null float64大类名称 21 non-null objectdtypes: datetime64[ns](2), float64(3), object(2)memory usage: 1.3+ KBNone
从这里,我们就可以看出这个Excel的行列数,哪些列有空值等。
比如我们想读取的不是默认的“Sheet1”,而是“Sheet2”,那么我们需要这样写:
import pandas as pddf = pd.read_excel('./data/test_insert.xlsx',sheet_name='Sheet2') #文件路径print(df)
运行结果:
No. Code Name Age0 1 1001 Office 251 2 1002 touch 232 3 1003 Officetouch 18
已经有基础的读者,可以仔细阅读以下内容,我们可以对Python有更深入的认知,知其然知其所以然。我们来了解下read_excel函数的常用参数:
虽然我们可以网上搜索read_excel函数,但是每次都去网上搜索,总归是麻烦+一知半解,所以我们借此机会正好了解为什么我们引用Pandas能实现这么多功能。
1)在自己的程序上,按住Ctrl+点击pandas,进入到Pandas的程序,然后我们Ctrl+F搜索read_excel
2)按住Ctrl+点击read_excel,我们能看到read_excel函数的内容
到这里,我们就能知道我们想使用的参数名如"sheet_name"、"index_col"等。
在Pandas的基础原理篇,我们已经讲过想要读取指定行的数据可以用loc函数,今天我们再稍微介绍下。比如我们需要只显示年龄大于20的数据:
import pandas as pddf = pd.read_excel('./data/test_insert.xlsx',sheet_name='Sheet2') #文件路径print(df.loc[df['Age']>20])
运行结果:
No. Code Name Age0 1 1001 Office 251 2 1002 touch 23
生成Excel
今天,我们再简单的讲解下如何生成Excel,比如我们对上图数据经过处理,需要把Age>20的数据导出Excel。
import pandas as pddf = pd.read_excel('./data/test_insert.xlsx',sheet_name='Sheet2') #文件路径df1 = df.loc[df['Age']>20]df1.to_excel('./data/test1.xlsx',sheet_name="sheet3")
运行后,我们可以去指定的路径下找到test1.xlsx,是不是很简单?
结 语
今天,OF介绍了Excel读取和生成的相关知识,在第3篇关于数据处理的文章中我们将补充更多的知识点。OF主要为大家介绍最完整、最简单、最实用的方法来学习办公自动化和数据分析,用Pandas对Excel的数据处理已经足够了。像其他python库如openpyxl, xlwings, xlsxwriter,有兴趣大家可以自行学习。下几期的内容会更有实战性,尽情期待!
3、Pandas的数据处理(数据的清洗等)
4、Pandas的数据可视化图表
5、Pandas的项目实战
若有读者对选材和内容有任何建议,请随时评论或私信我,只要是好的建议,OF一定不会辜负大家,会有惊喜