问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

read_excel函数详解:pandas库中读取Excel文件的常用参数及用法

创作时间:
作者:
@小白创作中心

read_excel函数详解:pandas库中读取Excel文件的常用参数及用法

引用
CSDN
1.
https://m.blog.csdn.net/youxiaoID/article/details/144637544

read_excel函数是pandas库中用于读取Excel文件的函数,本文将详细解释read_excel函数中常用的几个参数及其用法。

假设被读取的表格名为‘test1221.xlsx’,文件路径是"C:\Users\非常规用户名\Desktop\test1221.xlsx"

1. 默认参数读取表格

首先需要导入pandas包,将读取的表格赋值给data变量,括号里是文件路径。如果文件和Python代码文件在一个文件夹下,那么直接输入文件名就可以;否则需要输入文件路径。一般直接复制文件地址作为输入是不行的,需要将反斜杠改为斜杠或输入两个反斜杠,或者在文件路径前面加一个r让read_excel函数能识别这个路径。最后查看一下读取的表格类型,结果为pandas.core.frame.DataFrame类型,这是一个二维数据结构。

import pandas as pd
data1 = pd.read_excel('test1221.xlsx')
data2 = pd.read_excel("C:/Users/非常规用户名/Desktop/test1221.xlsx")
data3 = pd.read_excel("C:\\Users\\非常规用户名\\Desktop\\test1221.xlsx")
data4 = pd.read_excel(r"C:\Users\非常规用户名\Desktop\test1221.xlsx")
type(data1)

2. 读取指定位置的表格

sheet_name的值可以为None、string、int、字符串列表或整数列表,默认为0,也就是第一个表格。假设现在想要分别读取Sheet1的内容、Sheet3的内容、Sheet3与Sheet6的内容:

import pandas as pd
#2.1、读取第一个表格
data1_1 = pd.read_excel("C:\\Users\\非常规用户名\\Desktop\\test1221.xlsx", sheet_name = 0)#从0开始计数
data1_2 = pd.read_excel("C:\\Users\\非常规用户名\\Desktop\\test1221.xlsx", sheet_name = "Sheet1")
#2.2、读取第三个表格
data2_1 = pd.read_excel("C:\\Users\\非常规用户名\\Desktop\\test1221.xlsx", sheet_name = 1)
data2_2 = pd.read_excel("C:\\Users\\非常规用户名\\Desktop\\test1221.xlsx", sheet_name = "Sheet2")
#2.3、读取第3个和第6个表格
data2_3 = pd.read_excel("C:\\Users\\非常规用户名\\Desktop\\test1221.xlsx", sheet_name = [2,5])
data2_3 = pd.read_excel("C:\\Users\\非常规用户名\\Desktop\\test1221.xlsx", sheet_name = ['Sheet3','Sheet6'])

3. 指定列名行

header参数默认为0,以第一行为列名。

3.1 指定某一行为列名

data1 = pd.read_excel(r"C:\Users\非常规用户名\Desktop\test1221.xlsx", header = 1)#第二行作为列名
print(data1)

3.2 指定多列作为列名

data2 = pd.read_excel("C:\\Users\\非常规用户名\\Desktop\\test1221.xlsx",sheet_name = 'Sheet10', header = [0,1])#指定两列作为列名
print(data2)

3.3 自动生成列名

设置header为None,通常将列名设为从0开始的整数,如果使用header默认值的话会将第一行作为列名。

data3 = pd.read_excel("test1221.xlsx", sheet_name = 'Sheet4',header = None)

3.4 设置列名

names参数指定列名

data4 = pd.read_excel("test1221.xlsx", names = ['A','B','C','D','E','F'])#从右到左
![](https://wy-static.wenxiaobai.com/chat-rag-image/652803165781056677)

4. 读取指定行列

设置usecols和nrows参数,行列索引都是从0开始计数的

data1 = pd.read_excel("test1221.xlsx", usecols = [0,1], nrows = 5)#前5行
print(data1)
data2 = pd.read_excel("test1221.xlsx", usecols = ["x1","Series 1"], nrows = 5)
print(data2)

5. 跳过指定行

'skip'意为‘跳’,skiprows表示要跳过的行的索引,skipfooter表示要跳过的尾部行数

#跳过第一行,skip意为“跳”
data1 = pd.read_excel(r"C:\\Users\\非常规用户名\\Desktop\test1221.xlsx",
                      sheet_name = 'Sheet16',skiprows = [0,1])
#跳过尾部的行
data2 = pd.read_excel(r"C:\\Users\\非常规用户名\\Desktop\test1221.xlsx",
                      sheet_name = 'Sheet16',skipfooter = 2)

6. 指定列数据类型

dtype参数指定列数据类型,未指定的列程序自动根据数据设置数据类型。

data1 = pd.read_excel("test1221.xlsx", dtype = {"x1":int,  "Series 1":str ,"x3":int})
print(data1.dtypes)

7. 将某些值视为NA

na_value参数表示将某些值视为NA

data4 = pd.read_excel("test1221.xlsx",sheet_name = 'Sheet3',
                      na_values = ["Dairy and Egg Products","Baby Foods"])

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号