Python教程

轻松学Python数据分析2-Excel读取和生成

本文主要是介绍轻松学Python数据分析2-Excel读取和生成,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

阅读本文大约需要 5 分钟

图片

  • 主要内容:Excel 办公自动化和数据分析

  • 适用人群:办公室职员 / Python 初学者 / 有志从事数据分析工作的人员

  • 准备内容:Anaconda-Spyder,Pandas库

不会安装库的可以参考如下教程:

Anaconda如何安装Python库


图片 摘  要

网上、书上已经有很多关于数据分析的教程,但是OF抱着把数据分析讲得最完整最简单最实用的使命感,让大家真正掌握Pandas,并将其运用得炉火纯青。

1、Pandas的数据结构,即基础原理(学习下会对后面的学习事半功倍)

轻松学Python数据分析1-最简单实用的Pandas讲解

2、数据读取和生成

3、数据处理(数据的清洗等)

4、数据可视化图表

5、项目实战

今天开始我们要介绍实际的应用了,先来介绍下第2部分:怎么读取Excel的数据和生成Excel。

图片

 图片 读取Excel

1. 读取Excel内容

若读取的路径与python在一个文件夹下,直接写文件名即可,若不在一个文件夹下,需要写出完整路径。

import pandas as pddf = pd.read_excel('./data/test_insert.xlsx') #文件路径print(df)

2. 读取前几行内容

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  

3. 读取Excel基本信息

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的行列数,哪些列有空值等。

4. 读取其他Sheet页(read_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"等。

5. 读取指定条件的数据

图片

在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一定不会辜负大家,会有惊喜

这篇关于轻松学Python数据分析2-Excel读取和生成的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!