用python合并execl做统计分析

这篇具有很好参考价值的文章主要介绍了用python合并execl做统计分析。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

背景: 我们有项目问题记录的表格,每一个项目都会反馈来一个execl表格,表格的格式都是统一的,我需要定期把这些项目上反馈来的表格进行统计,但是表格非常多,我要每个都统计出来在来相加,这样操作很麻烦,所以我想有没有一个方法可以把所有的execl 都合并成为一个execl ,然后再去做统计分析 。这样会节省不少时间。最后我发现可以用python 来做合并execl的事情。

1、目录结构

用python合并execl做统计分析,python,python,开发语言

  • util : 是工具包,里面是封装的execl的类,实现了execl的基本操作
  • sources : 这里存放的需要进行合并的所有execl文件
  • results : 存放合并后的execl文件
  • main : 主函数 实现execl合并的方法

2、实现过程

ExcelUtil类的实现

在util包里面创建excel_util.py文件
导入相关的模块,实现ExcelUtil的初始化方法
初始化方法的时候,要传入execl文件的路径excel_path,不传是使用一个默认地址,index 是指定execl的哪个sheet,不传默认操作的是第一个sheet

# --coding:utf-8--
# ! python3
import xlrd
from xlutils.copy import copy
import os
import json
import codecs


class ExcelUtil:
    def __init__(self, excel_path=None, index=None):
        if excel_path == None:
            self.excel_path = "E:\\python\\问题列表文档\\execl合并\\results\\result.xlsx"
        else:
            self.excel_path = excel_path
        if index == None:
            self.index = 0       # 0 代表第一个sheet
        else:
            self.index = index
        self.data = xlrd.open_workbook(self.excel_path)    #将整个execl内容读到self.data里面
        self.table = self.data.sheets()[self.index]  #在从data里面获取指定sheet的内容

获取sheet中的行数

def get_lines(self):
        # 行数
        rows = self.table.nrows
        if rows >= 1:
            return rows
        return None

获取sheet中某个单元格的数据,需要传入行和列

 def get_col_value(self, row, col):
        # print
        if self.get_lines() > row:
            data = self.table.cell(row, col).value
            return data
        return None

获取整个sheet中的数据,并且存放到一个list中

获取sheet数据,按照每行一个list,添加到一个大的list里面
def get_data(self):
        result = []
        rows = self.get_lines()
        if rows != None:
            for i in range(rows):
                col = self.table.row_values(i)
                result.append(col)
            return result
        return None

给单元格写入数据,需要传入行和列,还有要写入的内容

def write_value(self, row, col, value):
        read_value = xlrd.open_workbook(self.excel_path)
        write_data = copy(read_value)   #将execl的内容读取出来拷贝一份
        write_data.get_sheet(self.index).write(row, col, value)   #写入数据
        write_data.save(self.excel_path)   #保存数据

添加新的sheet, 要传入sheet的名称

def add_excel_sheet(self,sheetname):
        rb = xlrd.open_workbook(self.excel_path, formatting_info=True)
        # make a copy of it
        wb = copy(rb)
        # add sheet to workbook with existing sheets
        wb.add_sheet(sheetname)
        wb.save(self.excel_path)

execl 的合并

在main包下面创建combine.py的文件
合并execl 要用到pandas模块

# --coding:utf-8--
# ! python3
import os
import pandas as pd

class CombineExcel(object):
    '''合并sources目录下的所有excel文件'''
    def __init__(self,pwd=None):
        '''pwd为要合并的当前目录'''
        if pwd == None:
            self.pwd = 'sources'
        else:
            self.pwd = pwd

合并的方法,需要传入index指定哪个sheet, 合并后的文件保存路径,以及合并的sheet名称

def combine_all(self,index,file_name,re_sheetname='sheet1'):
        '''合并文件夹下的excel
            index:指定要合并excel文件的哪个sheet,取值0,1,2,.......
            file_name:合并后生成的excel文件的保存路径
            re_sheetname:合并后sheet的名字,默认为sheet1
        '''
        # 新建列表,存放文件名
        file_list = []
        # 新建列表存放每个文件数据(依次读取多个相同结构的execl文件并创建DataFrame)
        dfs = []
        for root, dirs, files in os.walk(self.pwd):
            for file in files:
                file_path = os.path.join(root, file)
                file_list.append(file_path)
                print(file_path)
                df = pd.read_excel(io=file_path, sheet_name=index, header=None)
                dfs.append(df)
        df = pd.concat(dfs)
        df.to_excel(file_name, sheet_name=re_sheetname, index=False)

通过CombineExcel 类就可以把execl合并,合并后还需要统计分析,需要用到ExcelUtil类的方法。

数据统计分析

在main包中创建了statistics_main.py 就是来对合并后的execlt统计分析的。

#--coding:utf-8--
#! python3
import sys
sys.path.append('E:\python\问题列表文档\execl合并')
from util.excel_util import ExcelUtil
from main.combine import CombineExcel
import os
import xlrd
from xlutils.copy import copy

class Statistics(object):
    '''统计每个项目问题列表的解决情况,和每个组的问题解决情况统计'''
    def __init__(self,excel_path,index):
        self.excel_path = excel_path
        self.index = index
        self.ex = ExcelUtil(self.excel_path, self.index)

这里的统计分析代码比较多,而且统计的代码跟自己的execl的内容有关,需要自己去实现,但是都是对execl的操作,方法在ExcelUtil中都已经实现了,只需要调用即可。文章来源地址https://www.toymoban.com/news/detail-565405.html

到了这里,关于用python合并execl做统计分析的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • R语言生物群落(生态)数据统计分析与绘图

    详情点击链接:R语言生物群落(生态)数据统计分析与绘图 前沿 R 语言作的开源、自由、免费等特点使其广泛应用于生物群落数据统计分析。生物群落数据多样而复杂,涉及众多统计分析方法。 一: R和Rstudio简介及入门和作图基础 1 ) R及Rstudio:背景、软件及程序包安装、

    2024年02月02日
    浏览(32)
  • 【教程】R语言生物群落(生态)数据统计分析与绘图

    查看原文R语言生物群落(生态)数据统计分析与绘图实践 暨融合《R语言基础》、《tidyverse数据清洗》、《多元统计分析》、《随机森林模型》、《回归及混合效应模型》、《结构方程模型》、《统计结果作图》七合一版本方案 R 语言作的开源、自由、免费等特点使其广泛应

    2024年02月06日
    浏览(32)
  • R语言生物群落(生态)数据统计分析与绘图教程

    详情点击链接:R语言生物群落(生态)数据统计分析与绘图教程 前沿  R 语言作的开源、自由、免费等特点使其广泛应用于生物群落数据统计分析。生物群落数据多样而复杂,涉及众多统计分析方法。   一: R和Rstudio及入门和作图基础 1 ) R及Rstudio:背景、软件及程序包安

    2024年01月24日
    浏览(33)
  • 使用Python进行数据分析——描述性统计分析

    大家好,描述性统计分析主要是指求一组数据的平均值、中位数、众数、极差、方差和标准差等指标,通过这些指标来发现这组数据的分布状态、数字特征等内在规律。在Python中进行描述性统计分析,可以借助Numpy、Pandas、SciPy等科学计算模块计算出指标,然后用绘图模块Ma

    2024年02月07日
    浏览(38)
  • python统计分析——操作案例(模拟抽样)

    参考资料:用python动手学统计学 1、抽样         为了保证数据分析的可复现性,使用了随机种子。         np.random.choice()的用法参考:https://blog.csdn.net/maizeman126/article/details/135572042 2、计算样本均值  3、计算总体统计量          相关函数用法参照:python统计分析——单变

    2024年01月17日
    浏览(33)
  • 文件中的成绩统计分析----Python

    现在一个包含若干学生学习成绩的文件,每位同学有4 门课程的成绩,按要求完成以下任务。 文件中每行数据格式如下: 0121801101266,刘雯,92,73,72,64 0121801101077,张佳喜,81,97,61,98 … 0121801101531,佘玉龙,73,89,81,93 读取附件文件中的数据,对数据进行处理,计算每个同学 4 门课程成绩

    2024年02月07日
    浏览(27)
  • GPT与R语言回归模型(lm&glm)、混合效应模型、多元统计分析

    自2022年GPT(Generative Pre-trained Transformer)大语言模型的发布以来,它以其卓越的自然语言处理能力和广泛的应用潜力,在学术界和工业界掀起了一场革命。在短短一年多的时间里,GPT已经在多个领域展现出其独特的价值,特别是在数据统计分析领域。GPT的介入为数据处理、模

    2024年04月10日
    浏览(30)
  • R语言生物群落(生态)数据统计分析与绘图实践技术应用

    R 语言作的开源、自由、免费等特点使其广泛应用于生物群落数据统计分析。生物群落数据多样而复杂,涉及众多统计分析方法。以生物群落数据分析中的最常用的统计方法回归和混合效应模型、多元统计分析技术及结构方程等数量分析方法为主线,通过多个来自经典研究中

    2024年02月08日
    浏览(33)
  • AI大语言模型GPT & R 生态环境领域数据统计分析

      自2022年GPT(Generative Pre-trained Transformer)大语言模型的发布以来,它以其卓越的自然语言处理能力和广泛的应用潜力,在学术界和工业界掀起了一场革命。在短短一年多的时间里,GPT已经在多个领域展现出其独特的价值,特别是在数据统计分析领域。GPT的介入为数据处理、

    2024年03月14日
    浏览(35)
  • 用Python做数据分析之数据统计

    接下来说说数据统计部分,这里主要介绍数据采样,标准差,协方差和相关系数的使用方法。 1、数据采样 Excel 的数据分析功能中提供了数据抽样的功能,如下图所示。Python 通过 sample 函数完成数据采样。 2、数据抽样 Sample 是进行数据采样的函数,设置 n 的数量就可以了。函

    2024年02月07日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包