最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python讀取大量Excel文件并跨文件批量計算平均值的方法

 更新時間:2023年02月02日 08:40:09   作者:瘋狂學(xué)習(xí)GIS  
這篇文章主要介紹了Python讀取大量Excel文件并跨文件批量計算平均值,介紹基于Python語言,實現(xiàn)對多個不同Excel文件進行數(shù)據(jù)讀取與平均值計算的方法,需要的朋友可以參考下

本文介紹基于Python語言,實現(xiàn)對多個不同Excel文件進行數(shù)據(jù)讀取與平均值計算的方法~

腳本之家推薦學(xué)習(xí)python書籍

  首先,讓我們來看一下具體需求:目前有一個文件夾,其中存放了大量Excel文件;文件名稱是每一位同學(xué)的名字,即文件名稱沒有任何規(guī)律。

  而每一個文件都是一位同學(xué)對全班除了自己之外的其他同學(xué)的各項打分,我們以其中一個Excel文件為例來看:

  可以看到,全班同學(xué)人數(shù)(即表格行數(shù))很多、需要打分的項目(即表格列數(shù))有11個(不算總分);同時,由于不能給自己打分,導(dǎo)致每一份表格中會有一行沒有數(shù)據(jù)。

  而我們需要做的,就是求出每一位同學(xué)的、11個打分項目分別的平均分,并存放在一個新的、表頭(行頭與列頭)與大家打分文件一致的總文件中,如下圖。其中,每一個格子都代表了這位同學(xué)、這一項打分項目在經(jīng)過班級除其之外的每一位同學(xué)打分后計算出的平均值。

  可以看到,一個人就需要算11次平均,更何況一個班會有數(shù)十位同學(xué)。如果單獨用Excel計算,是非常麻煩的。

  而借助Python,就會簡單很多。具體代碼如下。在這里,就不再像平日里機器學(xué)習(xí)、深度學(xué)習(xí)代碼博客那樣,對代碼加以逐段、分部分的具體解釋了,直接列出全部代碼,大家參考注釋即可理解。

# -*- coding: utf-8 -*-
"""
Created on Thu Apr  8 16:24:41 2021

@author: fkxxgis
"""

import os
import numpy as np
from openpyxl import load_workbook

file_path='F:/班長/2020-2021綜合測評與評獎評優(yōu)/01_綜合測評/地信XXXX班互評打分表/' #這里是每一位同學(xué)打分Excel文件存放的路徑
output_path='F:/班長/2020-2021綜合測評與評獎評優(yōu)/01_綜合測評/地信XXXX班綜合素質(zhì)測評互評打分表.xlsx' #這里是最終結(jié)果存放路徑,請不要和上述路徑一致
first_row=5 #第一個分數(shù)所在的行數(shù)
first_column=3 #第一個分數(shù)所在的列數(shù)
all_row=32 #班級同學(xué)總數(shù)
all_column=11 #需要計算的分數(shù)項目個數(shù)

all_excel=os.listdir(file_path) #獲取打分文件路徑下全部Excel文件
file_row=first_row+all_row-1
file_column=first_column+all_column-1
all_mean_score=np.zeros((file_row,file_column),dtype=float) #新建一個二維數(shù)組,存放每一位同學(xué)、每一項項目的分數(shù)平均值
for now_row in range(first_row,file_row+1):
    for now_column in range (first_column,file_column+1):
        all_score=[]
        for excel_num in range(0,len(all_excel)):
            now_excel=load_workbook(file_path+all_excel[excel_num]) #打開第一個打分Excel文件
            all_sheet=now_excel.get_sheet_names() #獲取打分文件的全部Sheet名稱
            now_sheet=now_excel.get_sheet_by_name(all_sheet[0]) #本文中分數(shù)全部存儲于第一個Sheet,因此下標(biāo)為0
            single_score=now_sheet.cell(now_row,now_column).value #獲取對應(yīng)單元格數(shù)據(jù)
            if single_score==None: #如果這個單元格為空(也就是自己不給自己打分的那一行)
                pass
            else:
                all_score.append(single_score)
        all_mean_score[now_row-1,now_column-1]=np.mean(all_score) #計算全部同學(xué)為這一位同學(xué)、這一個打分項目所打分數(shù)的平均值

output_excel=load_workbook(output_path) #讀取結(jié)果存放Excel
output_all_sheet=output_excel.get_sheet_names() #這里代碼含義同上
output_sheet=output_excel.get_sheet_by_name(output_all_sheet[0])
output_sheet=output_excel.active
for output_now_row in range(first_row,file_row+1):
    for output_now_column in range (first_column,file_column+1):
        exec("output_sheet.cell(output_now_row,output_now_column).value=all_mean_score[output_now_row-1,output_now_column-1]") #將二維數(shù)組中每一位同學(xué)、每一項打分項目的最終平均分數(shù)寫入結(jié)果文件的對應(yīng)位置
output_excel.save(output_path)

  至此,大功告成。

補充:python批量讀取Excel文件

將同一個文件夾下的xlsx文件讀?。?/p>

import os
import pandas as pd

path = r'./path of file'
for i in os.listdir(path):
    df = pd.read_excel(os.path.join(path,i))

到此這篇關(guān)于Python讀取大量Excel文件并跨文件批量計算平均值的文章就介紹到這了,更多相關(guān)Python讀取大量Excel文件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 機器學(xué)習(xí)之?dāng)?shù)據(jù)清洗及六種缺值處理方式小結(jié)

    機器學(xué)習(xí)之?dāng)?shù)據(jù)清洗及六種缺值處理方式小結(jié)

    本文主要介紹了機器學(xué)習(xí)之?dāng)?shù)據(jù)清洗及六種缺值處理方式小結(jié),包括刪除空行、填充平均值、中位數(shù)、眾數(shù)、線性插值和隨機森林填充,具有一定的參考價值,感興趣的可以了解一下
    2025-03-03
  • 夯實基礎(chǔ)python集合的應(yīng)用場景及字符串定義和表示

    夯實基礎(chǔ)python集合的應(yīng)用場景及字符串定義和表示

    這篇文章主要為大家介紹了python集合的應(yīng)用場景及字符串定義和表示,來幫大家夯實基礎(chǔ),有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2023-10-10
  • Python中變量的作用域的具體使用

    Python中變量的作用域的具體使用

    本文主要介紹了Python中變量的作用域的具體使用,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • python numpy實現(xiàn)文件存取的示例代碼

    python numpy實現(xiàn)文件存取的示例代碼

    這篇文章主要介紹了python numpy實現(xiàn)文件存取的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • 詳解Python如何在多層循環(huán)中使用break/continue

    詳解Python如何在多層循環(huán)中使用break/continue

    關(guān)于break/continue這兩個關(guān)鍵字在平常的使用過程中一直比較迷糊。所以本文將詳細講講Python如何在多層循環(huán)中使用break/continue,需要的可以參考一下
    2022-05-05
  • Python的Web框架Django介紹與安裝方法

    Python的Web框架Django介紹與安裝方法

    這篇文章介紹了Python的Web框架Django與安裝方法,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • python中ASCII碼字符與int之間的轉(zhuǎn)換方法

    python中ASCII碼字符與int之間的轉(zhuǎn)換方法

    今天小編就為大家分享一篇python中ASCII碼字符與int之間的轉(zhuǎn)換方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07
  • python回調(diào)函數(shù)的使用方法

    python回調(diào)函數(shù)的使用方法

    在計算機程序設(shè)計中,回調(diào)函數(shù),或簡稱回調(diào)(Callback),是指通過函數(shù)參數(shù)傳遞到其它代碼的,某一塊可執(zhí)行代碼的引用。這一設(shè)計允許了底層代碼調(diào)用在高層定義的子程序
    2014-01-01
  • ?cmd輸入python打開微軟應(yīng)用商店的解決方法

    ?cmd輸入python打開微軟應(yīng)用商店的解決方法

    在命令控制行中輸入python想使用Python環(huán)境,卻意外打開了微軟自帶的應(yīng)用商店,十分苦惱,下面這篇文章主要給大家介紹了關(guān)于?cmd輸入python打開微軟應(yīng)用商店的解決方法,需要的朋友可以參考下
    2024-03-03
  • Python反轉(zhuǎn)序列的方法實例分析

    Python反轉(zhuǎn)序列的方法實例分析

    這篇文章主要介紹了Python反轉(zhuǎn)序列的方法,結(jié)合實例形式分析了列表、元組及字符串反轉(zhuǎn)的具體實現(xiàn)技巧,需要的朋友可以參考下
    2018-03-03

最新評論

洛阳市| 合江县| 赫章县| 吉首市| 昌宁县| 岢岚县| 太仓市| 临海市| 五家渠市| 长葛市| 芦山县| 广东省| 边坝县| 兴文县| 黄大仙区| 平乡县| 曲麻莱县| 晋州市| 德格县| 太康县| 全椒县| 文成县| 潍坊市| 蛟河市| 土默特左旗| 扎囊县| 佛冈县| 鹤山市| 双桥区| 阜南县| 房山区| 德保县| 龙游县| 两当县| 宣汉县| 扎赉特旗| 邯郸县| 永善县| 海门市| 大埔县| 东辽县|