首页 > 其他 > 详细

pandas读取xlsx

时间:2019-07-23 17:08:52      阅读:302      评论:0      收藏:0      [点我收藏+]

一、使用pandas读取xlsx

  引用pandas库

import pandas as pd
pd.read_excel(path, 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)

pandas读取Excel后返回DataFrame;

二、解析pd.read_excel()的常用参数

1.path --> xlsx的存储路径(建议使用英文路径或者英文命名方式)

import pandas as pd
path = rD:\Testdatabase\data\data.xlsx

2.sheet_name --> 读取工作表(sheet)名称

# 整型数字、列表名、SheetN、或者是以上三组组合列表

# 整型数字:目标sheet所在位置,以0开始,比如sheet_name = 0代表第1个工作表
data = pd.read_excel(path, sheet_name = 1)
ss = data.head()
print(ss)
# 工作表名:目标sheet的名称,可用中英文 data = pd.read_excel(path, sheet_name = 账号密码) data.head() # SheetN:表示第N个sheet,S必须大写,注意与整型数字的区别使用 data = pd.read_excel(path, sheet_name = Sheet5) data.head() # 组合使用 # sheet_name = [0, ‘车辆信息‘, ‘Sheet4‘],代表读取三个工作表,分别为第1个工作表、名为“车辆信息”的工作表和第4个工作表。显然,Sheet4未经重命名。 # sheet_name 默认为0,取Excel第一个工作表。如果读取多个工作表,则显示表格的字典 data = pd.read_excel(path, sheet_name = [账号密码, 车辆信息], nrows = 5) # sheet_name = [‘账号密码‘, ‘车辆信息‘] ,返回两个工作表组成的字典 data.head()

3.header --> 指定前几行作为列名

# 默认[0],即首行作为列名,设置为[0,1],即表示将前两行作为多重索引
data = pd.read_excel(path, sheet_name = 车辆信息, header = [0,1]) 
# 前两行作为列名。
data.head()
data = pd.read_excel(path, sheet_name = 车辆信息, header = [0,1,2]) 
# 前三行作为列名
data.head()

4.names --> 自定义列名

# 一般适用于Excel缺少列名,或者需要重新定义列名的情况
# 注意:names的长度必须和Excel列长度一致,否则会报错
data = pd.read_excel(path, sheet_name = 英超射手榜, 
                     names = [car_plate,sim_num,club,goal,common_goal,penalty])
data.head()

5.index_col --> 用作索引的列

# 可以是工作表列名称,如index_col = ‘车牌号‘;
data = pd.read_excel(path, sheet_name = 车辆信息, index_col = 车牌号)
data.head()

# 可以是整型或整型列表,如index_col = 0 或 [0, 1],如果选择多个列,则返回多重索引
data = pd.read_excel(path, sheet_name = 车辆信息, index_col = [0, 1])
data.head()

6.usecols --> 读取指定列

# usecols 可避免读取全量数据,而是以分析需求为导向选择特定数据,可以大幅提高效率
# 使用整型,从0开始,如[0,2,3]
data = pd.read_excel(io, sheet_name = 车辆信息, usecols = [0, 1, 3])
data.head()

# 可以使用Excel传统的列名“A”、“B”等字母,如“A:C, E” ="A, B, C, E",注意两边都包括
data = pd.read_excel(path, sheet_name = 车辆信息, usecols = A:C, E)
data.head()

7.squeeze --> 当工作表只有一列

# squeeze为True时,返回Series,反之返回DataFrame
data = pd.read_excel(path, sheet_name = 新增车组名, squeeze  = True)
data.head()

技术分享图片

data = pd.read_excel(path, sheet_name = 新增车组名, squeeze  = False)
data.head()

技术分享图片

8.skiprows --> 跳过特定行

# skiprows= n, 跳过前n行; skiprows = [a, b, c],跳过第a+1,b+1,c+1行(索引从0开始)
# 使用skiprows 后,有可能首行(即列名)也会被跳过。
data = pd.read_excel(path, sheet_name = 新增车组名, skiprows = [1,2,3]) 
# 跳过第2,3,4行数据(索引从0开始,包括列名)
data.head()

# 跳过前三行
data = pd.read_excel(io, sheet_name = 新增车组名, skiprows = 3)
data.head()

9.nrows --> 读取指定行数

# 读取指定行数, nrows = 10 ,即读取10行数据
data = pd.read_excel(path, sheet_name = 新增车组名, nrows = 10)
data.head()

10.skipfooter --> 跳过末尾N行

data = pd.read_excel(path , sheet_name = 新增车组名, skipfooter = 18)
#  skipfooter = 18, 跳过末尾0-18行(索引从0开始)
data.head()

11.converters --> 强制规定列数据类型(未完成................................)

pandas默认将文本类的数据读取为整型),主要用途:保留以文本形式存储的数字

 

pandas读取xlsx

原文:https://www.cnblogs.com/yfacesclub/p/11232736.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!