pandas(1):Pandas文件读取——read_excel()

一、函数原型

pd.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, 
	parse_dates=False, date_parser=None, 
	thousands=None, comment=None, 
	skipfooter=0, convert_float=True, **kwds)

二、功能说明

  将Excel文件读取到pandas DataFrame中,支持本地文件系统或URL的’xls’和’xlsx’文件扩展名,带有这两种扩展名的文件,函数都可以处理。

三、常用参数说明

  • io参数

  io参数可以接受的有:str,Excel文件,xlrd.Book,路径对象或类似文件的对象。其中最常用的是str,一般是文件路径+文件名,需要注意的是文件名字不要漏掉后缀,即文件扩展名,表明文件类型的那个!有时候需要对路径中的”\”进行转义,io参数没有默认值,必须传入。

# jupter notebook环境中不需要对"\"进行转义
pd.read_excel(r"C:\Users\asus\Desktop\test.xlsx")
# pd.read_excel(r"C:\\Users\\asus\\Desktop\\test.xlsx")
# jupter notebook、Windows环境下,用"/"可以文件名联想
pd.read_excel(r"C:/Users/asus/Desktop/test.xlsx")

tips:要不要转义可能和编辑器、操作系统有关。建议都写成最后一种形式。

  • sheet_name参数

  通过sheet位置或sheet名字来指定读入哪个sheet的数据。
  当一个excel工作簿中包含有很多个sheet工作表时,sheet_name用于决定导入那个sheet表单。可以接收的参数类型有:str,int,list或None,默认0。其中,str代表“工作表名称”;整数用于零索引工作表位置;字符串/整数列表用于请求多个工作表;None获取所有工作表;默认0,获取第一个工作表

# 导入第一个工作表,索引从0开始,传参类型为int
pd.read_excel(r"C://Users//asus//Desktop/test.xlsx",sheet_name=0)
# 导入表名为“data1”的工作表,传参类型为str
pd.read_excel(r"C://Users//asus//Desktop/test.xlsx",sheet_name="data1")
# 导入第一个和第三个工作表,传参类型为int型列表
pd.read_excel(r"C://Users//asus//Desktop/test.xlsx",sheet_name=[0,2])
  • header参数

  指定哪一行作为列名的,默认值是0,即第1行作为列名。
  接受的参数可以是:整数(指定第几行作为列名);有整数组成的列表(指定哪几行作为列名);None(没有列名,Python自动生成0始序列)

# 列名为从0开始的序列
pd.read_excel(r"C://Users//asus//Desktop/test.xlsx",header=None)
# 第3行当列名
pd.read_excel(r"C://Users//asus//Desktop/test.xlsx",header=2)
# 第3,5行当列名
pd.read_excel(r"C://Users//asus//Desktop/test.xlsx",header=[2,4])
  • names参数

  表示要使用的列名列表,也就是说可以自定义列名。一般传入字符型列表。默认是None。
  若设置了names参数,同时也设置了header参数,此时header=n表示从第n+2行开始导入数据。
  header = None和names参数都设置的话,依然会显示names指定的列名,从第一行开始导入数据。

# 从第2行开始导入数据
pd.read_excel(r"C:/Users/asus/Desktop/test.xlsx",header=0,names=["a","b","c"])
# 从第1行开始导入数据
pd.read_excel(r"C:/Users/asus/Desktop/test.xlsx",header=None,names=["a","b","c"])

index_col参数

  指定用哪一列做为索引。参数接收整数,或者由整数组成的列表,默认是None。和header参数类似。

usecols参数

  控制导入的哪几列(当列数过多时)。接收整数(列的位置),字符(列名称)或者类似列表的序列。如果设置了names参数,注意设置的列名个数要和读取的列数一致

squeeze参数

  接收布尔值,当取值为True的时候,如果解析的数据仅包含一列,则返回Series。默认值是False,即只有一列也返回Dataframe。

dtype参数

  输入表示数据类型的名称字符或者字典,如果输入的是字符表示整个表格的数据都转换成指定的数据类型,如果输入的是字典,那么每个字段可以指定不同的数据类型。
假如整个表格中既有文本又有数值,如果要设置成统一的数据类型只能设置成字符型。

返回值:DataFrame数据框对象或Series对象(squeeze参数控制)

四、总结

  参数能控制啥?哪1个或几个表(假若是多表)、哪几行或几列、数据重哪行开始导入、列名和行索引等等

posted @ 2021-03-15 17:03  Lu-顺  阅读(4133)  评论(0编辑  收藏  举报