python使用pandas读取excel参数详解

使用pandas读取excel,函数为:

pd.read_excel(io, sheetname=0,header=0,skiprows=None,index_col=None,names=None,
                arse_cols=None,date_parser=None,na_values=None,thousands=None, 
                convert_float=True,has_index_names=None,converters=None,dtype=None,
                true_values=None,false_values=None,engine=None,squeeze=False,**kwds)
  • io :excel 路径
root_dir = os.path.abspath('.')  # 当前路径
file_dir = root_dir + "/file/"  # 文件存放路径
student_file_dir = file_dir + 'student.xlsx'  # 文件存放路径
io = 'example.xls'
sheet = pd.read_excel(student_file_dir)
print(sheet)
  • sheet_name:None、string、int、字符串列表或整数列表,默认为0。
    字符串用于工作表名称,
    整数用于零索引工作表位置,
    字符串列表或整数列表用于请求多个工作表,
    为None时获取所有工作表。
#参数为None时,返回全部的表格,是一个表格的字典;
sheet = pd.read_excel('example.xls',sheet_name= None)
#当参数为list = [0,1,2,3]此类时,返回的多表格同样是字典
sheet = pd.read_excel('example.xls',sheet_name= 0)
sheet = pd.read_excel('example.xls',sheet_name= [0,1])
#同样可以根据表头名称或者表的位置读取该表的数据
sheet = pd.read_excel('example.xls',sheet_name= 'Sheet0')
sheet = pd.read_excel('example.xls',sheet_name= ['Sheet0','Sheet1'])
sheet = pd.read_excel('example.xls',sheet_name=[0,1,'Sheet3'])
  • header :指定作为列名的行,默认0,即取第一行,数据为列名行以下的数据;
    若数据不含列名,则设定 header = None;
#数据不含作为列名的行
sheet = pd.read_excel('example.xls',sheetname= 1,header = None)
#默认第一行数据作为列名
sheet = pd.read_excel('example.xls',sheetname= 1,header =0)
  • index_col :指定列为索引列
    可以是工作表列名称,如index_col = ‘排名’;
    可以是整型或整型列表,如index_col = 0 或 [0, 1],如果选择多个列,则返回多重索引。
sheet = pd.read_excel('example.xls', index_col=1)
sheet = pd.read_excel('example.xls', index_col='排名')
  • usecols:int或list,默认为None。
sheet = pd.read_excel('example.xls', usecols=1)
sheet = pd.read_excel('example.xls', usecols=[0,1,2])
sheet = pd.read_excel('example.xls', usecols=['cost','cost2'])
  • dtype:列的数据类型,默认为None。
  • 字典类型{‘列名1’:数据类型,‘列名’:数据类型}
    (pandas默认将文本类的数据读取为整型)
sheet = pd.read_excel('example.xls', dtype={'month': str, 'cd': int})
sheet = pd.read_excel('example.xls', dtype={'a':np.float64,'b':np.int32})
  • converters : 字典 , 默认None。在某些列中转换值的函数的命令。
    键可以是整数或列标签,
    值是接受一个输入参数的函数,Excel单元格内容,并返回转换后的内容
sheet = pd.read_excel('example.xls', converters={'num': int, 'age': str})
  • skiprows,跳过特定行
    skiprows= n, 跳过前n行;
    skiprows = [a, b, c],跳过第a+1,b+1,c+1行(索引从0开始);
    使用skiprows 后,有可能首行(即列名)也会被跳过。
# 跳过第2,3,4行数据(索引从0开始,包括列名)
data = pd.read_excel(io, sheet_name = '英超射手榜', skiprows = [1,2,3]) 
  • nrows ,需要读取的行数
    如果只想了解Excel的列名及概况,不必读取全量数据,nrows会十分有用。
#前十行
data = pd.read_excel(io, sheet_name = '英超射手榜', nrows = 10)
  • names, 自定义最终的列名
    一般适用于Excel缺少列名,或者需要重新定义列名的情况。
    注意:names的长度必须和Excel列长度一致,否则会报错。
data = pd.read_excel(io, sheet_name = '英超射手榜', 
									names = ['rank','player','club','goal'])
data.head()
  • 4
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值