时间:2021-05-22
导入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 objectUnnamed: 1 float64Unnamed: 2 float64Unnamed: 3 float64Unnamed: 4 float64Unnamed: 5 float64家内外活动类型 objectUnnamed: 7 objectactivity objectdtype: 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-8import 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详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
前言数据分析时候,需要将数据进行加载和存储,本文主要介绍和excel的交互。read_excel()加载函数为read_excel(),其具体参数如下。read
Python中pandas.read_excel详细介绍#coding:utf-8importpandasaspdimportnumpyasnpfilefull
写在前面QQ群里偶然看到群友问这个问题,pandas读取大文件时怎么才能获取进度?我第一反应是:除非pandas的read_excel等函数提供了回调函
知乎上有同学求助说,当他试图打开一个20M左右的excel文件时,无论是使用pandas的read_excel,还是直接使用xlrd或者openpyxl模块,速
问题描述使用pandas库的read_excel()方法读取外部excel文件报错,截图如下好像是缺少了什么方法的样子问题分析分析个啥,水平有限,直接面向sta