Python的excel表格操作,数据提取分析

简介: Python的excel表格操作,数据提取分析

自己编写了一些表格的操作方法,只需传入表格路径和表的位置,就能在根据自己使用的方法展示不同类型的数据如:字典,列表,字典里套列表,列表里套列表,查询最大行数,在指定的行数插入数据等,有疑问欢迎评论


class Excel:  #表格操作
    def __init__(self,filename,sheetname):  #传入表和表名称
        self.filename = filename
        self.sheetname = sheetname
        self.wb = openpyxl.load_workbook(self.filename)     #生成文件对象,表示要操作的是哪个文件
        self.sheet = self.wb[self.sheetname]
        self.maxrow = self.sheet.max_row
        self.maxcolumn = self.sheet.max_column
#最大行
    def getMaxRow(self):
        maxrow = self.sheet.max_row
        return maxrow
#最大列
    def getMaxColumn(self):
        maxcolumn=self.sheet.max_column
        return maxcolumn
#读取xlsx中某一行的内容,以列表的形式展示
    def listRow(self,rowname):
        list1=[]
        maxcolumn=self.sheet.max_column
        for i in range(maxcolumn):
            row1=self.sheet.cell(row=rowname,column=i+1).value
            list1.append(row1)
        return list1
#读取xesl中的某一行内容,已字典的形式展示,表格的第一行内容为字典中的键
    def dictRow(self, rownum=1):
        dict1={}
        maxcolumn = self.sheet.max_column
        for i in range(maxcolumn):
            key=self.sheet.cell(row=1,column=i+1).value
            row1 = self.sheet.cell(row=rownum, column=i + 1).value
            dict1[key]=row1
        return dict1
#获取某一列的内容  #以列表的显示显示
    def listColumn(self,maxco):
        list1 = []
        for i in range(self.sheet.max_row):
            row1 = self.sheet.cell(row=i+1, column=maxco).value
            list1.append(row1)
        return list1
# 获取某一列的内容  #以字典的形式的显示,第一行的内容是字典的键
    def dictColumn(self,maxco):
        dict1={}
        maxrow = self.sheet.max_row
        for i in range(maxrow):
            key = self.sheet.cell(row=1, column=i + 1).value
            row1 = self.sheet.cell(row=i+1, column=maxco).value
            dict1[key]=row1
        return dict1
#获取所有的数据,以列表里面套字典的方式读取出来
    def dictAll(self):
        list1=[]
        dict2={}
        list2=[]
        for i in range(1,self.maxcolumn+1):
            list1.append(self.sheet.cell(row=1,column=i).value)
        for n in range(2,self.maxrow+1):
            for x in range(1,self.maxcolumn+1):
                dict2[list1[x-1]]=self.sheet.cell(row=n,column=x).value
            list2.append(dict2)
            dict2={}
        return list2
#在指定单元格里写数据:
    def wtxls(self,rowunm,colnum,data):
        self.sheet.cell(row=rowunm,column=colnum).value=data
        self.wb.save(self.filename)
#获取所有的数据,用列表的方式
    def listAll(self):
        row1=[]
        row2=[]
        maxrow=self.sheet.max_row
        maxcol = self.sheet.max_column
        for i in range(1,maxrow):
            for x in range(maxcol):
                row1.append(self.sheet.cell(row=i + 1, column=x + 1).value)
            row2.append(row1)
            row1=[]
        return row2
#获取所有行的内容 但是指定列
    def listData(self,startCol,endCol):
        row1 = []
        row2 = []
        for i in range(1, self.sheet.max_row):
            for x in range(startCol,endCol+1):
                row1.append(self.sheet.cell(row=i + 1, column=x).value)
            row2.append(row1)
            row1 = []
        return row2


表格操作不管是对开发还是测试都是很重要的,测试可以把数据存储到表格里,通过ddt数据驱动来进行自动化测试,后端开发可以将表格的内容加入至数据库,或者是提取表格内容分析然后得出结果返回给前端等等。有不懂的或者是有疑问的可以评论,看到会即时回复,后续会对函数的用法已经如何带入到自动化测试中做一个解释


相关文章
|
6天前
|
存储 分布式计算 大数据
基于Python大数据的的电商用户行为分析系统
本系统基于Django、Scrapy与Hadoop技术,构建电商用户行为分析平台。通过爬取与处理海量用户数据,实现行为追踪、偏好分析与个性化推荐,助力企业提升营销精准度与用户体验,推动电商智能化发展。
|
20天前
|
数据采集 Web App开发 数据可视化
Python零基础爬取东方财富网股票行情数据指南
东方财富网数据稳定、反爬宽松,适合爬虫入门。本文详解使用Python抓取股票行情数据,涵盖请求发送、HTML解析、动态加载处理、代理IP切换及数据可视化,助你快速掌握金融数据爬取技能。
383 1
|
21天前
|
Java 数据挖掘 数据处理
(Pandas)Python做数据处理必选框架之一!(一):介绍Pandas中的两个数据结构;刨析Series:如何访问数据;数据去重、取众数、总和、标准差、方差、平均值等;判断缺失值、获取索引...
Pandas 是一个开源的数据分析和数据处理库,它是基于 Python 编程语言的。 Pandas 提供了易于使用的数据结构和数据分析工具,特别适用于处理结构化数据,如表格型数据(类似于Excel表格)。 Pandas 是数据科学和分析领域中常用的工具之一,它使得用户能够轻松地从各种数据源中导入数据,并对数据进行高效的操作和分析。 Pandas 主要引入了两种新的数据结构:Series 和 DataFrame。
227 0
|
4天前
|
机器学习/深度学习 大数据 关系型数据库
基于python大数据的台风灾害分析及预测系统
针对台风灾害预警滞后、精度不足等问题,本研究基于Python与大数据技术,构建多源数据融合的台风预测系统。利用机器学习提升路径与强度预测准确率,结合Django框架实现动态可视化与实时预警,为防灾决策提供科学支持,显著提高应急响应效率,具有重要社会经济价值。
|
5天前
|
机器学习/深度学习 大数据 关系型数据库
基于python大数据的青少年网络使用情况分析及预测系统
本研究基于Python大数据技术,构建青少年网络行为分析系统,旨在破解现有防沉迷模式下用户画像模糊、预警滞后等难题。通过整合多平台亿级数据,运用机器学习实现精准行为预测与实时干预,推动数字治理向“数据驱动”转型,为家庭、学校及政府提供科学决策支持,助力青少年健康上网。
|
13天前
|
JSON 算法 API
Python采集淘宝商品评论API接口及JSON数据返回全程指南
Python采集淘宝商品评论API接口及JSON数据返回全程指南
|
3月前
|
Python
如何根据Excel某列数据为依据分成一个新的工作表
在处理Excel数据时,我们常需要根据列值将数据分到不同的工作表或文件中。本文通过Python和VBA两种方法实现该操作:使用Python的`pandas`库按年级拆分为多个文件,再通过VBA宏按班级生成新的工作表,帮助高效整理复杂数据。
|
3月前
|
数据采集 数据可视化 数据挖掘
用 Excel+Power Query 做电商数据分析:从 “每天加班整理数据” 到 “一键生成报表” 的配置教程
在电商运营中,数据是增长的关键驱动力。然而,传统的手工数据处理方式效率低下,耗费大量时间且易出错。本文介绍如何利用 Excel 中的 Power Query 工具,自动化完成电商数据的采集、清洗与分析,大幅提升数据处理效率。通过某美妆电商的实战案例,详细拆解从多平台数据整合到可视化报表生成的全流程,帮助电商从业者摆脱繁琐操作,聚焦业务增长,实现数据驱动的高效运营。
|
5月前
|
存储 安全 大数据
网安工程师必看!AiPy解决fscan扫描数据整理难题—多种信息快速分拣+Excel结构化存储方案
作为一名安全测试工程师,分析fscan扫描结果曾是繁琐的手动活:从海量日志中提取开放端口、漏洞信息和主机数据,耗时又易错。但现在,借助AiPy开发的GUI解析工具,只需喝杯奶茶的时间,即可将[PORT]、[SERVICE]、[VULN]、[HOST]等关键信息智能分类,并生成三份清晰的Excel报表。告别手动整理,大幅提升效率!在安全行业,工具党正碾压手动党。掌握AiPy,把时间留给真正的攻防实战!官网链接:https://www.aipyaipy.com,解锁更多用法!

推荐镜像

更多
下一篇
开通oss服务