读取 Excel 斜着读数据

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)

Pandas 读取 Excel 斜着读的更多相关文章

  1. 机器学习之数据预处理,Pandas读取excel数据

    Python读写excel的工具库很多,比如最耳熟能详的xlrd.xlwt,xlutils,openpyxl等.其中xlrd和xlwt库通常配合使用,一个用于读,一个用于写excel.xlutils结 ...

  2. 深入理解pandas读取excel,txt,csv文件等命令

    pandas读取文件官方提供的文档 在使用pandas读取文件之前,必备的内容,必然属于官方文档,官方文档查阅地址 http://pandas.pydata.org/pandas-docs/versi ...

  3. Python 使用Pandas读取Excel的学习笔记

    这里介绍Python中使用Pandas读取Excel的方法 一.软件环境: OS:Win7 64位 Python 3.7 二.文件准备 1.项目结构: 2.在当前实验文件夹下建立一个Source文件夹 ...

  4. 利用pandas读取Excel表格,用matplotlib.pyplot绘制直方图、折线图、饼图

    利用pandas读取Excel表格,用matplotlib.pyplot绘制直方图.折线图.饼图 数据: 折线图代码: import  pandas  as pdimport  matplotlib. ...

  5. 使用pandas读取excel

    使用pandas读取excel Excel是微软的经典之作,在这里我们介绍使用Python的pandas数据分析包来解决此问题. pd.read_excel(io, sheet_name = 0, h ...

  6. 用pandas读取excel报错

    用pandas.read_execl()方法读取excel文件报错. 后来导入xlrd第三方库,就好了.

  7. 用python的pandas读取excel文件中的数据

    一.读取Excel文件   使用pandas的read_excel()方法,可通过文件路径直接读取.注意到,在一个excel文件中有多个sheet,因此,对excel文件的读取实际上是读取指定文件.并 ...

  8. pandas玩转excel-> (2)如何利用pandas读取excel数据文件

    import pandas as pd #将excel文件读到内存中,形成dataframe,并命名为peoplepeople=pd.read_excel('D:/python结果/task2/Peo ...

  9. pandas 读取excel的指定列

    不管对于read_csv还是read_excel,现在都有: usecols : int or list, default None If None then parse all columns, I ...

  10. pandas 读取excel文件对数据简单清洗并用matplotlib 将数据展示

    首先我们看下数据 接下来数据分析操作 import numpy as np import pandas as pd from matplotlib import pyplot as plt if __ ...

随机推荐

  1. CF1794B Not Dividing题解

    如果 \(a_i\) 可以整除 \(a_{i - 1}\),只要在 \(a_i\) 上 \(+1\) 即可,这样 \(a_i \bmod a_{i - 1} = 1\) 就满足题目要求了,如果这样算来 ...

  2. 【环境搭建】phpstudy显示目录列表

    问题来源 新版本的PHPStudy访问127.0.0.1不再像以前版本一样显示目录列表了 解决办法 打开vhosts.conf 将图中标记出来的一行Options FollowSymLinks Exe ...

  3. Tomcat改jar

    Tomcat改jar 插件修改 <!-- <plugin>--> <!-- <groupId>org.apache.maven.plugins</gro ...

  4. Variable 'xxxx' is accessed from within inner class, needs to be final or effectively final-Lambda 表达式的变量与作用域

    问题的原因 问题代码: public static void main(String[] args) { Integer sum = 0; Integer count = 0; List<Int ...

  5. Centos7制作本地yum仓库,共享给局域网其他设备

    环境准备: 准备好安装好Centos7的虚机A(服务端)和虚机B(客户端) 配置两台虚机网络使其互通,关闭selinux和firewalld等限制 下载完整的ISO镜像(CentOS-7-x86_64 ...

  6. Python类与面向对象

    Python类与面向对象 一.面向对象 1.1 面向对象概述 面向对象与面向过程? 面向过程编程的基本思想是:分析解决问题的步骤,使用函数实现每步对应的功能,按照步骤的先后顺序依次调用函数.面向过程只 ...

  7. vue2 如何实现将dom元素转移到指定节点

    背景:在写商城页面时,PC端给的设计图纸是按照宽度1920给的,内部内容区域(main)1191px,写死的指定宽度.然后新出了一个页面,类似于12306的这个页面,图片部分,直接占满了屏幕的100v ...

  8. 加密算法解析:MD5、DES和RAS的工作原理与特点

    一.MD5不可逆加密 1.1-理解MD5 MD5公开的算法,任何语言实现后其实都是一样的.通用的 不可逆加密:原文--加密--密文,密文无法解密出原文 1.2-MD5封装 using System.I ...

  9. 安装 配置 正向 解析 DNS方法

    安装 配置 正向 解析 DNS方法 1,安装dhcp [root@localhost ~]#yum install bind* -y 2,关闭防火墙和selinux [root@localhost ~ ...

  10. DDD项目落地之充血模型实践

    背景: 充血模型是DDD分层架构中实体设计的一种方案,可以使关注点聚焦于业务实现,可有效提升开发效率.提升可维护性: 1.DDD项目落地整体调用关系 调用关系图中的Entity为实体,从进入领域服务( ...