记录并分享 python & Excel 交互历程 (二)

  

前言:

        记录并分享 python & Excel 交互历程 (二)

目的:

   前文中提到 导入 二维图像中 横坐标及纵坐标的离散数据 ,数据量较大时 手工录入就稍显困难,遂本文诞生;

https://www.runoob.com/python3/python3-list.html Python3 列表

https://pypi.org/project/xlrd/   xlrd 库   >>> pip install xlrd 

  内容:

1.  一份记录好数据的表格 (简单示意)   

eg:

xxx.xlsx
keyvalue
011.1
112.1
213.1
314.1
415.1
516.1
617.1
718.1
819.1
920.1
10

21.1

 

 

 

 

 

 

 

 

 

 

 

 


2.  将表格中的 key | value 所指向的数据提取出来,并放入期望填充的地方;以下是代码实现部分:

import xlrd

# row -- 行
# col -- 列

class ExcelTest():

    def __init__(self, excelPath):
        self.data = xlrd.open_workbook(excelPath)
        self.table = self.data.sheets()[0]
        # print("table",self.table)
        # 获取第一行值
        self.keys = self.table.row_values(0)
        # print("keys",self.keys)
        # 获取总的行数
        self.rowNum = self.table.nrows
        # print("rowNum",self.rowNum)
        # 获取各行数据
        self.rows = self.table.row_values(0)  # 括号 参数指向具体地址
        # print("rowData",self.rows)
        # 获取总列数
        self.colNum = self.table.ncols
        # print("colNum",self.colNum)
        # 获取各列数据
        self.cols = self.table.col_values(0)
        # print("colData",self.cols)

    def compose_data_pair(self):       # 组合数据格式 [row0,col0],[row1,col1],.....
        if self.rowNum <= 1:
            print("总行 数据小于1")
        else:
            new_data = []
            seq = 1
            for i in range(self.rowNum-1):
                values = self.table.row_values(seq)        # 从第二行取对应values值  
                new_data.append(values)
                seq += 1
            return new_data

    def compose_data_signel(self):     # 组合数据格式 [row0,row1,.....]  [col0,col1,.....]   
        if self.rowNum <= 1 or self.colNum <=1:
            print("总行/列 数据小于1")
        else:
            rowKey = []   # key
            colValue = []  # value
            seq = 1
            for i in range(self.rowNum-1):
                values = self.table.row_values(seq) 
                rowKey.append(values[0])
                colValue.append(values[1])
                seq += 1
            return rowKey, colValue

if __name__ == "__main__":
    filepath = "../../xxx.xlsx" # excel 路径地址  注意斜杠 / 方向
    data = ExcelTest(filepath)
    print("---",data.compose_data_pair())
    print("+++",data.compose_data_signel())  # 获取 rowKey $ colValue  对应到 (x,y)

运行结果:


优化方向&笔记:

       1.  实际待提取的excel数据可能较为复杂,需要利用 关键字索引 “key"  或者”value“去寻找指定单元格中的数据并存入列表;

       2.  经过以上步骤存入列表的数据导入前文中得到想拟合的曲线及方程式;

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
【为什么学习数据挖掘】 &nbsp; &nbsp; &nbsp; 人工智能、大数据时代有什么技能是可以运用在各种行业的?数据分析就是。&nbsp; &nbsp; &nbsp; 从海量数据中获得别人看不见的信息,创业者可以通过数据分析来优化产品,营销人员可以通过数据分析改进营销策略,产品经理可以通过数据分析洞察用户习惯,金融从业者可以通过数据分析规避投资风险,程序员可以通过数据分析进一步挖掘出数据价值,它和编程一样,本质上也是一个工具,通过数据来对现实事物进行分析和识别的能力。不管你从事什么行业,掌握了数据分析能力,往往在其岗位上更有竞争力。【超实用的课程内容】 &nbsp; &nbsp; &nbsp;本课程为Python数据挖掘方向的入门课程,课程主要以真实数据为基础,详细介绍数据挖掘入门的流程和使用Python实现pandas与numpy在数据挖掘方向的运用,并深入学习如何运用scikit-learn调用常用的数据挖掘算法解决数据挖掘问题,为进一步深入学习数据挖掘打下扎实的基础。本课程分为三大部分:基础知识篇:主要讲解数据挖掘这项技能的基本工作流程和介绍和入门必须的基本技能Python语言的入门,带领大家了解数据挖掘的常见操作和基础知识。数据采集篇:学习如何解决数据挖掘的数据来源问题,读取各类型不同的数据包括CSV,excel,MySQL进行数据采集的交互。数据探索篇:本篇主要解决数据的预处理保证数据的质量并用常见数据挖掘算法进行特征提取,分析数据背后隐含的信息。【报名须知】课程采取录播模式,课程永久有效,可无限次观看课件、课程案例代码完全开放给你,你可以根据所学知识,自行修改、优化【如何开始学习?】PC端:报名成功后可以直接进入课程学习移动端:下载CSDN学院或CSDN

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值