python pandas是如何读取excel表中的sheet的(五)

今天,我们继续学习pandas读取excel read_excel()中的参数。重点学习两个参数:dtype以及converters。dtype可以在读取时通过dict对某一列指定数据类型,而converters则可以在读取时通过dict对某一列或者某及列应用某一个函数,读取的是函数返回后的结果。
下面是官方文档的释义(英文挺简单的,可以阅读一下):

dtype : Type name or dict of column -> type, default None
        Data type for data or columns. 
        E.g. {'a': np.float64, 'b': np.int32}
		If converters are specified, they will be applied INSTEAD
        of dtype conversion.
        (如果converters也是做类型转换,则dtype优先。dtype的优先级高)
converters : dict, default None
        Dict of functions for converting values in certain columns. 
        Keys can either be integers or column labels, 
        values are functions that take one input argument, 
        the Excel cell content, and return the transformed content.

1、 dtype的基本用法
代码举例如下:
在这里插入图片描述
如上图所示,excel表格的id其实是文本类型的,但是pandas读取后会变成int类型的

# 如下结果所示,id列变成了int64类型,
>>> df = pd.read_excel(r'D:/myExcel/1.xlsx', sheet_name='Sheet1')
>>> df
     name  math  Chinese   id
0     bob    23       12  123
1  millor    32       32  124
2   jiken    61       89  125
3     tom    34       94  126
4    json    98       12  127
5    dela    96       67  128
6   rison    90       34  129
>>> df.dtypes
name       object
math        int64
Chinese     int64
id          int64
dtype: object

# 但是,如果我们确实是需要文本类型的,这时,dtype可以派上用场了
>>> df = pd.read_excel(r'D:/myExcel/1.xlsx', sheet_name='Sheet1', dtype={'id':str})
>>> df
     name  math  Chinese   id
0     bob    23       12  123
1  millor    32       32  124
2   jiken    61       89  125
3     tom    34       94  126
4    json    98       12  127
5    dela    96       67  128
6   rison    90       34  129
# id已经转成object了,即str类型
>>> df.dtypes
name       object
math        int64
Chinese     int64
id         object
dtype: object
>>> 

2、converters的基本用法

# math列每一列的值均加5
>>> df = pd.read_excel(r'D:/myExcel/1.xlsx', sheet_name='Sheet1', converters={'math': lambda x : x + 5})
>>> df
     name  math  Chinese   id
0     bob    28       12  123
1  millor    37       32  124
2   jiken    66       89  125
3     tom    39       94  126
4    json   103       12  127
5    dela   101       67  128
6   rison    95       34  129

哈哈,以上就是关于dtype以及converters参数的用法,欢迎关注微信公众号:python小工具。还有福利哦
在这里插入图片描述

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值