Python必备技能:用pandas读Excel常见操作

想要操控你 , 必须要先读懂你...
Python必备技能:用pandas读Excel常见操作
文章图片

1)读取没有表头的表单
下面这个表单没有表头:
Python必备技能:用pandas读Excel常见操作
文章图片

pd.read_excel方法中的参数header默认为0 , 也就是默认以表单的第一行内容作为表头 , 但当表单没有表头时 , 则需要将参数header设置为None 。 df=pd.read_excel('./data.xlsx',header=None)print(df)
结果如下:
Python必备技能:用pandas读Excel常见操作
文章图片

这时候 , 会根据列索引生成表头信息 。
2)读取多表头的表单
下面表单的第一二行都属于表头:
Python必备技能:用pandas读Excel常见操作
文章图片

可设置参数header为[0,1]:df=pd.read_excel('./data.xlsx',header=[0,1])print(df)
结果如下:
Python必备技能:用pandas读Excel常见操作
文章图片

忽略这里的不对齐问题 , Pycharm的默认显示就是这样 。
3)读取已有索引的表单
下面的表单打算以班级作为索引:
Python必备技能:用pandas读Excel常见操作
文章图片

可设置参数index_col为0(或为‘班级’):df=pd.read_excel('./data.xlsx',index_col=0)print(df)
结果如下:
Python必备技能:用pandas读Excel常见操作
文章图片

同上 , 忽略这里的不对齐 , Pycharm默认显示就这样 。
【Python必备技能:用pandas读Excel常见操作】4)读取指定列
下面的表单 , 只需读取学生的语数外的成绩:
Python必备技能:用pandas读Excel常见操作
文章图片

设置参数usecols为['语文','数学','英语'] , 当然也可以用索引值[0,1,2] , 或者使用‘A:C’ , 但个人更喜欢使用第一种 , 因为当列数发生变化时 , 后两者方法也要跟着变动 , 而第一种使用列名的方式则不需要变动 。 df=pd.read_excel('./data.xlsx',usecols=['语文','数学','英语'])print(df)
Python必备技能:用pandas读Excel常见操作
文章图片

这种操作 , 相比较于一次性读取全部数据 , 然后再进行选取 , 会节省内存及时间 。
5)跳过某些行
下面的表单需跳过第一行空白行 , 且不需要小樱同学数据:
Python必备技能:用pandas读Excel常见操作
文章图片

可对参数skiprows进行设置 , 如果仅传入一个int型数值 , 则代表从第一行开始算起 , 总共跳过多少行 。 如果是一个列表 , 那么里面的每个元素代表需要跳过的行索引 。
若skiprows为1 , 则表示从第一行开始算起 , 共跳过了1行数据 。 若skiprows为[0,4] , 表示跳过索引为0和4的行数据 。 df=pd.read_excel('./data.xlsx',skiprows=[0,4])print(df)
结果如下:
Python必备技能:用pandas读Excel常见操作
文章图片

同上 , 相比较于一次性读取全部数据 , 然后再进行选取 , 会节省内存及时间 。
6)读取全部表单
下面Excel中共有三个表单:
Python必备技能:用pandas读Excel常见操作
文章图片

如果想一次性读取全部的表单内容 , 可设置参数sheet_name为None 。 df=pd.read_excel('./data.xlsx',sheet_name=None)print(df)
结果如下:
Python必备技能:用pandas读Excel常见操作
文章图片

返回的是一个字典 , key值就是每个表单的名字 , value值就是对应表单的dataframe格式内容 。


    推荐阅读