阅读本文大约需要 5 分钟

python识别表格 python怎么读取表格中的数据_python

  • 主要内容:Excel 办公自动化和数据分析
  • 适用人群:办公室职员 / Python 初学者 / 有志从事数据分析工作的人员
  • 准备内容:Anaconda-Spyder,Pandas库

python识别表格 python怎么读取表格中的数据_python识别表格_02

 摘  要

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

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

2、数据读取和生成

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

4、数据可视化图表

5、项目实战

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

python识别表格 python怎么读取表格中的数据_excel_03

 

python识别表格 python怎么读取表格中的数据_python识别表格_02

 读取Excel

1. 读取Excel内容

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

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

2. 读取前几行内容

head( n ) 方法用于读取前面的 n 行,如果不填参数 n ,默认返回 5 行。

import pandas as pd
df = 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 pd
df = 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 pd
df = pd.read_excel('./data/test_insert.xlsx') #文件路径
print(df.info())

运行结果:

<class 'pandas.core.frame.DataFrame'>
RangeIndex: 22 entries, 0 to 21
Data 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 object
dtypes: datetime64[ns](2), float64(3), object(2)
memory usage: 1.3+ KB
None

从这里,我们就可以看出这个Excel的行列数,哪些列有空值等。

4. 读取其他Sheet页(read_excel函数)

python识别表格 python怎么读取表格中的数据_python识别表格_05

比如我们想读取的不是默认的“Sheet1”,而是“Sheet2”,那么我们需要这样写:

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

运行结果:

No.  Code         Name  Age
0    1  1001       Office   25
1    2  1002        touch   23
2    3  1003  Officetouch   18

已经有基础的读者,可以仔细阅读以下内容,我们可以对Python有更深入的认知,知其然知其所以然。我们来了解下read_excel函数的常用参数:

虽然我们可以网上搜索read_excel函数,但是每次都去网上搜索,总归是麻烦+一知半解,所以我们借此机会正好了解为什么我们引用Pandas能实现这么多功能。

1)在自己的程序上,按住Ctrl+点击pandas,进入到Pandas的程序,然后我们Ctrl+F搜索read_excel

python识别表格 python怎么读取表格中的数据_pandas_06

python识别表格 python怎么读取表格中的数据_pandas_07

2)按住Ctrl+点击read_excel,我们能看到read_excel函数的内容

python识别表格 python怎么读取表格中的数据_pandas_08

到这里,我们就能知道我们想使用的参数名如"sheet_name"、"index_col"等。

5. 读取指定条件的数据

python识别表格 python怎么读取表格中的数据_excel_09

在Pandas的基础原理篇,我们已经讲过想要读取指定行的数据可以用loc函数,今天我们再稍微介绍下。比如我们需要只显示年龄大于20的数据:

import pandas as pd
df = pd.read_excel('./data/test_insert.xlsx',sheet_name='Sheet2') #文件路径
print(df.loc[df['Age']>20])

运行结果:

No.  Code    Name  Age
0    1  1001  Office   25
1    2  1002   touch   23

python识别表格 python怎么读取表格中的数据_python识别表格_02

 生成Excel

python识别表格 python怎么读取表格中的数据_excel_09

今天,我们再简单的讲解下如何生成Excel,比如我们对上图数据经过处理,需要把Age>20的数据导出Excel。

import pandas as pd
df = 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,是不是很简单?

python识别表格 python怎么读取表格中的数据_excel_12

python识别表格 python怎么读取表格中的数据_python识别表格_02

 结  语

今天,OF介绍了Excel读取和生成的相关知识,在第3篇关于数据处理的文章中我们将补充更多的知识点。OF主要为大家介绍最完整、最简单、最实用的方法来学习办公自动化和数据分析,用Pandas对Excel的数据处理已经足够了。

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

4、Pandas的数据可视化图表