对Python 2.7 pandas 中的read_excel详解
导入pandas模块:
import pandas as pd
使用import读入pandas模块,并且为了方便使用其缩写pd指代。
读入待处理的excel文件:
df = pd.read_excel('log.xls')
通过使用read_excel函数读入excel文件,后面需要替换成excel文件所在的路径。读入之后变为pandas的DataFrame对象。DataFrame是一个面向列(column-oriented)的二维表结构,且含有列表和行标,对excel文件的操作就转换为对DataFrame操作。另外,如果一个excel含有多个表,如果你只想读入其中一个可以:
df = pd.read_excel('log.xls', sheetname=1)
增加了一个参数sheetname,表示的是第几个表,从0开始计数。我上面设置的是1,也就是第二个表。
读入之后,可以先查看表头信息和每一列的数据类型:
df.dtypes
输出如下:
Member object Unnamed: 1 float64 Unnamed: 2 float64 Unnamed: 3 float64 Unnamed: 4 float64 Unnamed: 5 float64 家内外活动类型 object Unnamed: 7 object activity object dtype: object
提取每个member连续出现的最后一行数据:
new_df = df.drop_duplicates(subset='Member', keep='last')
以上语句的意思是根据Member字段去除掉多余的行,并且保留相同行的最后一行数据。这些就得到了每一个member最后一行的数据了,返回了经过筛选后的DataFrame。
接下来需要将处理后的结果,保存为excel文件:
out = pd.ExcelWriter('output.xls') new_df.to_excel(out) out.save()
output.xls是你要保存的文件名,可以任取;然后将DataFrame的内容保存到该文件,最后保存该文件到系统的磁盘上。
接下来,你就可以在当前目录看到一个新的文件,可以直接使用excel打开查看。
Pandas还提供了很多的API,可以根据具体的任务,查找API文档,找到合适的函数来完成任务。
附:一个完整的示例
#coding=utf-8 import pandas as pd # 读入excel文件中的第2个表 df = pd.read_excel('log.xls', sheetname=1) # 查看表的数据类型 print df.dtypes # 查看Member列的数据 print df['Member'] ''' # 新建一列,每一行的值是Member列和activity列相同行值的和 for i in df.index: df['activity_2'][i] = df['Member'][i] + df['activity'][i] ''' # 根据Member字段去除掉多余的行,并且保留相同行的最后一行数据 new_df = df.drop_duplicates(subset='Member', keep='last') # 导出结果 out = pd.ExcelWriter('output.xls') new_df.to_excel(out) out.save()
以上这篇对Python 2.7 pandas 中的read_excel详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
详解Python编程中对Monkey Patch猴子补丁开发方式的运用
Monkey Patch猴子补丁方式是指在不修改程序原本代码的前提下,通过添加类或模块等方式在程序运行过程中加入代码,下面就来进一步详解Python编程中对Monkey Patch猴子补丁开发方式的运用2016-05-05Pycharm的Available Packages为空的解决方法
这篇文章主要介绍了Pycharm的Available Packages为空的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2020-09-09SpringBoot中的@MessageMapping注解详解
这篇文章主要介绍了SpringBoot中的@MessageMapping注解详解,Spring Boot 提供了对 WebSocket 的支持,其中 @MessageMapping 注解是一个常用的注解,它可以将一个 Java 方法标记为 WebSocket 的消息处理器,需要的朋友可以参考下2023-08-08python-opencv 中值滤波{cv2.medianBlur(src, ksize)}的用法
这篇文章主要介绍了python-opencv 中值滤波{cv2.medianBlur(src, ksize)}的用法,具有很好的参考价值,希望对大家有所帮助。2021-06-06详解Pandas如何高效对比处理DataFrame的两列数据
我们在用 pandas 处理数据的时候,经常会遇到用其中一列数据替换另一列数据的场景。这一类的需求估计很多人都遇到,当然还有其它更复杂的。解决这类需求的办法有很多,这里我们来推荐几个2022-09-09
最新评论