Pandas 读取 Excel 斜着读
读取 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 斜着读的更多相关文章
- 机器学习之数据预处理,Pandas读取excel数据
Python读写excel的工具库很多,比如最耳熟能详的xlrd.xlwt,xlutils,openpyxl等.其中xlrd和xlwt库通常配合使用,一个用于读,一个用于写excel.xlutils结 ...
- 深入理解pandas读取excel,txt,csv文件等命令
pandas读取文件官方提供的文档 在使用pandas读取文件之前,必备的内容,必然属于官方文档,官方文档查阅地址 http://pandas.pydata.org/pandas-docs/versi ...
- Python 使用Pandas读取Excel的学习笔记
这里介绍Python中使用Pandas读取Excel的方法 一.软件环境: OS:Win7 64位 Python 3.7 二.文件准备 1.项目结构: 2.在当前实验文件夹下建立一个Source文件夹 ...
- 利用pandas读取Excel表格,用matplotlib.pyplot绘制直方图、折线图、饼图
利用pandas读取Excel表格,用matplotlib.pyplot绘制直方图.折线图.饼图 数据: 折线图代码: import pandas as pdimport matplotlib. ...
- 使用pandas读取excel
使用pandas读取excel Excel是微软的经典之作,在这里我们介绍使用Python的pandas数据分析包来解决此问题. pd.read_excel(io, sheet_name = 0, h ...
- 用pandas读取excel报错
用pandas.read_execl()方法读取excel文件报错. 后来导入xlrd第三方库,就好了.
- 用python的pandas读取excel文件中的数据
一.读取Excel文件 使用pandas的read_excel()方法,可通过文件路径直接读取.注意到,在一个excel文件中有多个sheet,因此,对excel文件的读取实际上是读取指定文件.并 ...
- pandas玩转excel-> (2)如何利用pandas读取excel数据文件
import pandas as pd #将excel文件读到内存中,形成dataframe,并命名为peoplepeople=pd.read_excel('D:/python结果/task2/Peo ...
- pandas 读取excel的指定列
不管对于read_csv还是read_excel,现在都有: usecols : int or list, default None If None then parse all columns, I ...
- pandas 读取excel文件对数据简单清洗并用matplotlib 将数据展示
首先我们看下数据 接下来数据分析操作 import numpy as np import pandas as pd from matplotlib import pyplot as plt if __ ...
随机推荐
- Cisco命令中login和login local的区别
login是开启远程登录密码验证,login local不但要求密码,还要求提供用户名 如果同时设置login和login local,login local有效 (config-line)#line ...
- 脚手架服务运行 报错 error:03000086:digital envelope routines::initialization error
报错图片 解决方法: 降低版本 https://nodejs.org/zh-cn/ 安装后(安装前先卸载高版本,点击左下放大镜搜索"卸载程序" 进行卸载) 安装完成后,再次回到vu ...
- P3574 [POI2014] FAR-FarmCraft 吐槽 + 题解
洛谷上面的题解写的真的不太好,有很多错误,我来谈谈自己的理解. 设 \(f[i]\) 表示以 \(i\) 为根节点的子树中(包括节点 \(i\))的所有人安装好游戏所需要的时间(与下面的 \(g[i] ...
- 图像增强—自适应直方图均衡化(AHE)-限制对比度自适应直方图均衡(CLAHE)
一.自适应直方图均衡化(Adaptive histgram equalization/AHE) 1.简述 自适应直方图均衡化(AHE)用来提升图像的对比度的一种计算机图像处理技术.和普通的直方图均衡算 ...
- Hexo博客Next6.0版本主题配置(背景图片加载、侧边栏社交小图标设置、设置网站图标)
随机背景图片加载 原理 自动更换背景是修改添加背景的css样式实现 图片来源 https://source.unsplash.com/ 修改背景样式 修改themes\next\source\css\ ...
- 2023年icpc大学生程序设计竞赛-nhr
icpc的省赛是在洛阳举办,第一次出省,还是两天,第一次离开郑州去别的城市比赛,心情更多的是激动,非常感谢老师给了这次机会,第一天20号,打完热身赛之后回寝室,和队友一起看了一下去年省赛的题,感觉还是 ...
- 原生poi实现模版导出
背景 我们公司是内网开发,外网jar包我的权限不够,所以easyexcel jar包无法使用,参考了easyexcel的填充思想,写了一个较简单的填充方法,如果直接用easyexcel的话,可以参考这 ...
- nf_conntrack: table full, dropping packet
参考:linux 路由跟踪表满错误 nf_conntrack: table full, dropping packet 原理解决方法 说明 ping,dmesg 或者 /var/log/message ...
- sshpass快速登录远程主机:s2
#!/bin/bash passwd= if [ $# -ne 1 ] then echo "$0 [31|37|61]" fi if command -v sshpass the ...
- Linux 命令:rpm查询选项
rpm(8) System Manager's Manual rpm(8) 名称 rpm - RPM 软件包管理器 查询选项 rpm的查询命令通常的格式如下: rpm -q [query-option ...