pandas同时读取一个excel中几个sheets,并且将其中对应的列求平均值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pandas同时读取一个excel中几个sheets,并且将其中对应的列求平均值相关的知识,希望对你有一定的参考价值。

有一个excel文件,文件中有5个sheet,每个sheet中都有5列数据,数据都是对应的,列名如col_list所示。我想分别计算每个sheet中第一列a的平均值,b的平均值.....,写了一个遍历读取不同sheet的代码,可以实现,但是不知道如何求均值,求大神给写点代码。

f = pd.ExcelFile('E:\Python\CD\CD2020.xlsx')
print(f.sheet_names) #没有问题

col_list = ['a','b','c','d','e']
for i in f.sheet_names:
data = pd.read_excel(f, sheet_name=i,header=0,index_col=0,parse_dates='datetime': [0], encoding='utf-8')
print('\n数据', i, '为:\n', data) #也没有问题
接下来该如何处理?如何同时读取每个sheet的第一列求均值?

前面的回答完全不知道在说什么跟题主的问题没关毛钱关系。。

这个问题里没有描述是要将5个 sheet 的平均值合并到一起展示还是单独展示,我就按合并的展示来操作吧

f = pd.ExcelFile('E:\\Python\\CD\\CD2020.xlsx')
print(f.sheet_names)

col_list = ['a','b','c','d','e']

result = [] # 存放每个 sheet 求平均之后的结果

for i in f.sheet_names:
data = pd.read_excel(f, sheet_name=i,header=0,index_col=0,parse_dates='datetime': [0], encoding='utf-8')

    result.append(data.mean().to_frame(name=i)) # 求均值并放入列表

pd.concat(result, axis=1) # 将结果中的5个 sheet 合并成一个 dataframe

解释一下:

data.mean() 计算出每一列的平均值,结果是一个 Series 。为了方便后面合并用方法 .to_frame(name=i) 转换成 dataframe 

pd.concat 可以用来合并多个 dataframe 参数 axis=1 是按列来合并

结果大概是这样的

参考技术A 可以通过 data structure intro setion 来查看有关该节内容的详细信息。 1、可以通过传递一个list对象来创建一个series,pandas会默认创建整型索引: 2、通过传递一个numpy array,时间索引以及列标签来创建一个dataframe: 参考技术B 有5个sheet,每个sheet中都有5列数据,数据都是对应的,列

pandas读取和写入excel多个sheet表单

一、读取单个表单

import pandas as pd

excel_reader=pd.ExcelFile(文件.xlsx) # 指定文件 sheet_names = excel_reader.sheet_names # 读取文件的所有表单名,得到列表 df_data = excel_reader.parse(sheet_name=sheet_names[i]) # 读取表单的内容,i是表单名的索引,等价于pd.read_excel(‘文件.xlsx‘, sheet_name=sheet_names[i])

二、写入多个表单

import pandas as pd
excel_writer = pd.ExcelWriter(文件.xlsx)  # 定义writer,选择文件(文件可以不存在)
df.to_excel(excel_writer, sheet_name=自定义sheet_name, index=False)  # 写入指定表单
excel_writer.save()  # 储存文件
excel_writer.close()  # 关闭writer

 

以上是关于pandas同时读取一个excel中几个sheets,并且将其中对应的列求平均值的主要内容,如果未能解决你的问题,请参考以下文章

python pandas怎么跳读sheet?

python pandas 读取文件 写入文件excel

pandas.read_excel 参数“sheet_name”不起作用

pandas读取Excel

一个参数一个xlsx表,让你玩转Pandas中read_excel()表格读取!

Pandas读写文件操作