pandas——read_excel()方法学习

01 pandas——read_excel()方法学习

 

def read_excel( io, sheet_name=0, header=0, names=None, index_col=None, usecols=None, squeeze=False, dtype=None, engine=None, converters=None, true_values=None, false_values=None, skiprows=None, nrows=None, na_values=None, keep_default_na=True, verbose=False, parse_dates=False, date_parser=None, thousands=None, comment=None, skip_footer=0, skipfooter=0, convert_float=True, mangle_dupe_cols=True, **kwds ):

In [2]:
import pandas as pd
import numpy as np
import os
In [3]:
os.getcwd()  # 获取当前工作目录
Out[3]:
'C:\Users\zhao\PyCharmProjects\ttt'
In [4]:
file_path = "pandas/data/table.xlsx"
data = pd.read_excel(file_path)
data
Out[4]:
 
 SchoolClassIDGenderAddressHeightWeightMathPhysics
0 S_1 C_1 1101 M street_1 173 63 34.0 A+
1 S_1 C_1 1102 F street_2 192 73 32.5 B+
2 S_1 C_1 1103 M street_2 186 82 87.2 B+
3 S_1 C_1 1104 F street_2 167 81 80.4 B-
4 S_1 C_1 1105 F street_4 159 64 84.8 B+
5 S_1 C_2 1201 M street_5 188 68 97.0 A-
6 S_1 C_2 1202 F street_4 176 94 63.5 B-
7 S_1 C_2 1203 M street_6 160 53 58.8 A+
8 S_1 C_2 1204 F street_5 162 63 33.8 B
9 S_1 C_2 1205 F street_6 167 63 68.4 B-
10 S_1 C_3 1301 M street_4 161 68 31.5 B+
11 S_1 C_3 1302 F street_1 175 57 87.7 A-
12 S_1 C_3 1303 M street_7 188 82 49.7 B
13 S_1 C_3 1304 M street_2 195 70 85.2 A
14 S_1 C_3 1305 F street_5 187 69 61.7 B-
15 S_2 C_1 2101 M street_7 174 84 83.3 C
16 S_2 C_1 2102 F street_6 161 61 50.6 B+
17 S_2 C_1 2103 M street_4 157 61 52.5 B-
18 S_2 C_1 2104 F street_5 159 97 72.2 B+
19 S_2 C_1 2105 M street_4 170 81 34.2 A
20 S_2 C_2 2201 M street_5 193 100 39.1 B
21 S_2 C_2 2202 F street_7 194 77 68.5 B+
22 S_2 C_2 2203 M street_4 155 91 73.8 A+
23 S_2 C_2 2204 M street_1 175 74 47.2 B-
24 S_2 C_2 2205 F street_7 183 76 85.4 B
25 S_2 C_3 2301 F street_4 157 78 72.3 B+
26 S_2 C_3 2302 M street_5 171 88 32.7 A
27 S_2 C_3 2303 F street_7 190 99 65.9 C
28 S_2 C_3 2304 F street_6 164 81 95.5 A-
29 S_2 C_3 2305 M street_4 187 73 48.9 B
30 S_2 C_4 2401 F street_2 192 62 45.3 A
31 S_2 C_4 2402 M street_7 166 82 48.7 B
32 S_2 C_4 2403 F street_6 158 60 59.7 B+
33 S_2 C_4 2404 F street_2 160 84 67.7 B
34 S_2 C_4 2405 F street_6 193 54 47.6 B
 

1.sheetname : 可以是str,int,list,或None,默认0,字符是表示的是该表的名字,数字表示的是表的位置(从0开始),数字和字符是请求单个表格;列表形式的是请求多个表格.赋值为None是请求全部的表格

In [5]:
data = pd.read_excel(file_path, sheet_name=1)
data
Out[5]:
 
 序号姓名年龄
0 1 小明 18
1 2 小红 19
2 3 小张 12
3 4 小李 13
4 5 小皮球 4
5 6 小王八 5
6 7 南山 75
7 8 大海 64
8 9 轻松 23
9 10 不好 12
In [6]:
data = pd.read_excel(file_path, sheet_name=[1])
data
Out[6]:
OrderedDict([(1,    序号   姓名  年龄
              0   1   小明  18
              1   2   小红  19
              2   3   小张  12
              3   4   小李  13
              4   5  小皮球   4
              5   6  小王八   5
              6   7   南山  75
              7   8   大海  64
              8   9   轻松  23
              9  10   不好  12)])
In [7]:
data = pd.read_excel(file_path, sheet_name=[0,1])
data
Out[7]:
OrderedDict([(0,
                 School Class    ID Gender   Address  Height  Weight  Math Physics
              0     S_1   C_1  1101      M  street_1     173      63  34.0      A+
              1     S_1   C_1  1102      F  street_2     192      73  32.5      B+
              2     S_1   C_1  1103      M  street_2     186      82  87.2      B+
              3     S_1   C_1  1104      F  street_2     167      81  80.4      B-
              4     S_1   C_1  1105      F  street_4     159      64  84.8      B+
              5     S_1   C_2  1201      M  street_5     188      68  97.0      A-
              6     S_1   C_2  1202      F  street_4     176      94  63.5      B-
              7     S_1   C_2  1203      M  street_6     160      53  58.8      A+
              8     S_1   C_2  1204      F  street_5     162      63  33.8       B
              9     S_1   C_2  1205      F  street_6     167      63  68.4      B-
              10    S_1   C_3  1301      M  street_4     161      68  31.5      B+
              11    S_1   C_3  1302      F  street_1     175      57  87.7      A-
              12    S_1   C_3  1303      M  street_7     188      82  49.7       B
              13    S_1   C_3  1304      M  street_2     195      70  85.2       A
              14    S_1   C_3  1305      F  street_5     187      69  61.7      B-
              15    S_2   C_1  2101      M  street_7     174      84  83.3       C
              16    S_2   C_1  2102      F  street_6     161      61  50.6      B+
              17    S_2   C_1  2103      M  street_4     157      61  52.5      B-
              18    S_2   C_1  2104      F  street_5     159      97  72.2      B+
              19    S_2   C_1  2105      M  street_4     170      81  34.2       A
              20    S_2   C_2  2201      M  street_5     193     100  39.1       B
              21    S_2   C_2  2202      F  street_7     194      77  68.5      B+
              22    S_2   C_2  2203      M  street_4     155      91  73.8      A+
              23    S_2   C_2  2204      M  street_1     175      74  47.2      B-
              24    S_2   C_2  2205      F  street_7     183      76  85.4       B
              25    S_2   C_3  2301      F  street_4     157      78  72.3      B+
              26    S_2   C_3  2302      M  street_5     171      88  32.7       A
              27    S_2   C_3  2303      F  street_7     190      99  65.9       C
              28    S_2   C_3  2304      F  street_6     164      81  95.5      A-
              29    S_2   C_3  2305      M  street_4     187      73  48.9       B
              30    S_2   C_4  2401      F  street_2     192      62  45.3       A
              31    S_2   C_4  2402      M  street_7     166      82  48.7       B
              32    S_2   C_4  2403      F  street_6     158      60  59.7      B+
              33    S_2   C_4  2404      F  street_2     160      84  67.7       B
              34    S_2   C_4  2405      F  street_6     193      54  47.6       B),
             (1,    序号   姓名  年龄
              0   1   小明  18
              1   2   小红  19
              2   3   小张  12
              3   4   小李  13
              4   5  小皮球   4
              5   6  小王八   5
              6   7   南山  75
              7   8   大海  64
              8   9   轻松  23
              9  10   不好  12)])
In [8]:
data = pd.read_excel(file_path, sheet_name=2)
data
Out[8]:
 
 1小明18
0 2 小红 19
1 3 小张 12
2 4 小李 13
3 5 小皮球 4
4 6 小王八 5
5 7 南山 75
6 8 大海 64
7 9 轻松 23
8 10 不好 12
 

2.header:指定作为列名的行,默认0,即取第一行的值为列名。数据为列名行以下的数据;若数据不含列名,则设定 header = None

In [9]:
data = pd.read_excel(file_path, sheet_name=2, header=None)
data
Out[9]:
 
 012
0 1 小明 18
1 2 小红 19
2 3 小张 12
3 4 小李 13
4 5 小皮球 4
5 6 小王八 5
6 7 南山 75
7 8 大海 64
8 9 轻松 23
9 10 不好 12
 

3.指定列的名字,传入一个list数据,默认为None。

In [10]:
data = pd.read_excel(file_path, sheet_name=2, header=None, names=['a', 'b', 'c'])
data
Out[10]:
 
 abc
0 1 小明 18
1 2 小红 19
2 3 小张 12
3 4 小李 13
4 5 小皮球 4
5 6 小王八 5
6 7 南山 75
7 8 大海 64
8 9 轻松 23
9 10 不好 12
In [11]:
data = pd.read_excel(file_path, sheet_name=2, header=None, index_col=1)
data
Out[11]:
 
 02
1  
小明 1 18
小红 2 19
小张 3 12
小李 4 13
小皮球 5 4
小王八 6 5
南山 7 75
大海 8 64
轻松 9 23
不好 10 12
 

4.指定列为索引列,默认None列, index_col = 0——第一列为index值

In [12]:
data = pd.read_excel(file_path, sheet_name=2, header=None, index_col=0)
data
Out[12]:
 
 12
0  
1 小明 18
2 小红 19
3 小张 12
4 小李 13
5 小皮球 4
6 小王八 5
7 南山 75
8 大海 64
9 轻松 23
10 不好 12
 

5.usecols:int或list,默认为None</br> 如果为None则解析所有列</br> 如果为int则表示要解析的最后一列</br> 如果为int列表则表示要解析的列号列表</br> 如果字符串则表示以逗号分隔的Excel列字母和列范围列表(例如“A:E”或“A,C,E:F”)。范围包括双方。

In [13]:
data = pd.read_excel(file_path, sheet_name=2, header=None, usecols=1)
data
Out[13]:
 
 01
0 1 小明
1 2 小红
2 3 小张
3 4 小李
4 5 小皮球
5 6 小王八
6 7 南山
7 8 大海
8 9 轻松
9 10 不好
In [14]:
data = pd.read_excel(file_path, sheet_name=2, header=None, usecols=2)
data
Out[14]:
 
 012
0 1 小明 18
1 2 小红 19
2 3 小张 12
3 4 小李 13
4 5 小皮球 4
5 6 小王八 5
6 7 南山 75
7 8 大海 64
8 9 轻松 23
9 10 不好 12
In [15]:
data = pd.read_excel(file_path, sheet_name=2, header=None, usecols="A:B")
data
Out[15]:
 
 01
0 1 小明
1 2 小红
2 3 小张
3 4 小李
4 5 小皮球
5 6 小王八
6 7 南山
7 8 大海
8 9 轻松
9 10 不好
In [16]:
data = pd.read_excel(file_path, sheet_name=2, header=None, usecols="A:C")
data
Out[16]:
 
 012
0 1 小明 18
1 2 小红 19
2 3 小张 12
3 4 小李 13
4 5 小皮球 4
5 6 小王八 5
6 7 南山 75
7 8 大海 64
8 9 轻松 23
9 10 不好 12
 

6.skiprows:省略指定行数的数据,从第一行开始

In [17]:
data = pd.read_excel(file_path, sheet_name=2, header=None, usecols="A:C", skiprows=1)
data
Out[17]:
 
 012
0 2 小红 19
1 3 小张 12
2 4 小李 13
3 5 小皮球 4
4 6 小王八 5
5 7 南山 75
6 8 大海 64
7 9 轻松 23
8 10 不好 12
In [18]:
data = pd.read_excel(file_path, sheet_name=2, header=None, usecols="A:C", skiprows=[0, 2])
data
Out[18]:
 
 012
0 2 小红 19
1 4 小李 13
2 5 小皮球 4
3 6 小王八 5
4 7 南山 75
5 8 大海 64
6 9 轻松 23
7 10 不好 12
 

7.skip_footer:省略从尾部数的行数据,没有第0行,从1开始

In [19]:
data = pd.read_excel(file_path, sheet_name=2, header=None, usecols="A:C", skipfooter=1)
data
Out[19]:
 
 012
0 1 小明 18
1 2 小红 19
2 3 小张 12
3 4 小李 13
4 5 小皮球 4
5 6 小王八 5
6 7 南山 75
7 8 大海 64
8 9 轻松 23
 

8.nrows : int型,默认为None,解析0-所指定的行数

In [20]:
data = pd.read_excel(file_path, sheet_name=2, header=None, nrows=3)
data
Out[20]:
 
 012
0 1 小明 18
1 2 小红 19
2 3 小张 12
原文地址:https://www.cnblogs.com/xinmomoyan/p/13700813.html