首页 > 其他分享 >Pandas 读取 Excel 斜着读

Pandas 读取 Excel 斜着读

时间:2023-10-17 09:11:39浏览次数:25  
标签:sheet 读取 idx name Excel Pandas start col row

读取 Excel 斜着读数据
image

import pandas as pd


def read_sideling(direction, sheet_name, row_start, col_start, gap):
    """
    斜着读数据
    :param sheet_name:
    :param direction: left 往左下方读取 ↙,right 往右下方读取 ↘
    :param row_idx:  行号,从0开始,
    :param col_idx:  列号,从0开始
    :return:
    """
    # header=None 没有标题行
    df = pd.read_excel("222.xlsx", sheet_name=sheet_name, header=None)
    step = gap + 1
    total = 0
    continuous = 5  # 连续几连,算有效值
    col_idx = col_start  # 第一次,列号=传入的值
    # 如果3行3行的比,再在上面套一层 for
    for row_idx in range(row_start, step * continuous + 1, step):  # range(1, 4) = 1~3 逗号右边是小于,所以 < 4 ,是 1~3,不包括4
        if row_idx == 0 :
            # 如果指定的行是从0开始,就跳过,否则不用跳过
            continue  # 跳过第1行
        # print(row)
        val = df.iloc[row_idx, col_idx]  # 指定行,列
        # TODO 判断 1
        # if val != 1:
        #     print("第%s行,第%s列  =>  %s" % (row_idx + 1, col_idx, val))
        #     break  # 三行数据,有一个不等于 1 就跳过
        total = total + 1
        # 列号位移
        if direction == "right":
            # 从右往左,列的序号 加 1
            col_idx = col_idx + 1
        if direction == "left":
            # 从右往左,列的序号 减 1
            col_idx = col_idx - 1
        print("第%s行,第%s列 =>  %s" % (row_idx + 1, col_idx, val))
    # 三行数据都 =1
    if total == continuous:
        # 'a' 追加到文件中, 'w' 以前的数据不要了,每次都重写
        write_val = df.iloc[0, col_idx]
        print("达到连续三个1,将值写文件%s" % write_val)
        with open('output.txt', 'a', encoding='utf-8') as json_file:
            json_file.write(str(write_val) + " ")  # 把最上面的值写到文件中
    else:
        print("没达到三个1 不写文件")


# 斜着读数据,如果要和竖着的一起处理,就把方法复制到一个文件中
if __name__ == '__main__':
    # ritht 向台
    read_sideling(direction='right', sheet_name=0, row_start=1, col_start=1, gap=0)
    # left 向左
    read_sideling(direction='left', sheet_name=0, row_start=1, col_start=10, gap=0)
    # left 向左
    read_sideling(direction='left', sheet_name=0, row_start=1, col_start=14, gap=2)

标签:sheet,读取,idx,name,Excel,Pandas,start,col,row
From: https://www.cnblogs.com/vipsoft/p/17767839.html

相关文章

  • qt读取摄像头
    Qt中实时调取摄像头(利用OpenCV)_opencv获取网络摄像头qt_Loading_create的博客-CSDN博客C++版本#include<opencv2/opencv.hpp>#include"mainwindow.h"usingnamespacestd;usingnamespacecv;#undefmainintmain(){Matimage;VideoCapturecap(0);//c......
  • pandas教程01: pandas的安装和基本操作
    pandas是Python中常用的数据处理库,主要用来处理表格数据,类似于下面这种:好好干文化有限公司员工薪资表姓名年龄性别年薪奖金久九刘35男18260042000傅儿待24男996000040000000舍处28女6000018000大家想一想,无论是日常办公使用的excel还是数据库,是......
  • 用java.net.URL类等访问HTTP服务器读取网页数据
    大力:“Java网络编程需要通过套接字去进行客户程序与服务器程序的交互,这种底层的通信实现起来比较麻烦,有没有现成的API呢?”卫琴:“JDK为基于HTTP协议的网络通信提供了协议处理框架API,Java客户程序通过它来访问HTTP服务器,会很方便。”本文以HTTP客户程序为例,介绍URL类和URLConnection......
  • Pandas与openpyxl库的超强结合,再见,Excel!
    前言用过Pandas和openpyxl库的同学都知道,这两个库是相互互补的。Pandas绝对是Python中处理Excel最快、最好用的库,但是使用openpyxl的一些优势是能够轻松地使用样式、条件格式等自定义电子表格。如果你又想轻松的使用Pandas处理Excel数据,又想为Excel电子表格添加一些样式,应该怎......
  • python操作excel三大模块对比(xlrd、openpyxl、pandas)
    1.pandasmatplotlib、numpy、pandas是入行数据分析的三个必须掌握的基础模块,这里介绍一下用pandas如何导入excel文件。安装比较简单,直接用pip工具安装三个库即可,安装命令如下$pip3installpandas安装完成提示Successfullyinstalled即表示安装成功。#1.导入pandas模......
  • Pandas 读取Eexcel
    间隔N行,读取某列数据importpandasaspddefread_vertical(sheet_name,col_idx,gap):"""竖着读数据,:paramsheet_name:第几个sheet:paramcol_idx:第几列,从0开始:paramstep:间隔:return:"""#header=None没有标题......
  • es 支持实时的数据读取吗
    通常我们说es是近实时的搜索服务,指的是es写入一条数据后,默认1s后才可以搜索到,但我们在实际使用过程中指定id可以进行实时的查询。客户端使用GetRequest发起的查询默认是实时的,分片会从translog中读取数据并返回,为什么通过id查询就是实时的呢?es在写入数据时,首先写......
  • JS实现导出Excel的五种方法详解
    <!DOCTYPEhtml><html><headlang="en"><metacharset="UTF-8"><title>html表格导出道</title><scriptlanguage="JavaScript"type="text/javascript">//第一种方法function......
  • EasyExcel实现读写操作
    (1)Excel导入导出的应用场景①数据导入:减轻录入工作量②数据导出:统计信息归档③数据传输:异构系统之间数据传输(2)EasyExcel简介EasyExcel的特点:Java领域解析、生成Excel比较有名的框架有Apachepoi、jxl等。但他们都存在一个严重的问题就是非常的耗内存。如果你的系统并发量......
  • 年轻人的第一个车轱辘——比较两个数据库中表结构的不同并导出为Excel文件
    packagecom.example.demo;importlombok.Data;importorg.apache.commons.collections4.ListUtils;importorg.apache.poi.ss.usermodel.*;importorg.apache.poi.ss.util.CellRangeAddress;importorg.apache.poi.xssf.usermodel.XSSFWorkbook;importjava.io.FileO......