Python采集学习笔记-读取excel数据
表格格式

方法一:使用xlrd
import xlrd
1.读取Excel文件
workbook = xlrd.open_workbook('plc.xlsx')
2.读取第一个表
sheet = workbook.sheet_by_index(0)
3.获取表格总行数
total_rows = sheet.nrows
4.创建列表,存储表格一行中每一列信息
plc_info = []
for row in range(1, total_rows): # 获取第1到最后行的数据id = int(sheet.cell_value(row,0)) #获取第一行索引为0的数据plc_name = sheet.cell_value(row, 1) # 获取PLC名plc_ip = sheet.cell_value(row, 2) # 获取IP地址db_number = int(sheet.cell_value(row, 3)) # 获取DB块号start_address = int(sheet.cell_value(row,4)) #获取起始地址db_size = int(sheet.cell_value(row, 5)) # 获取DB大小data_type = sheet.cell_value(row, 6) # 获取数据类型
5.将每一行的数据插入到列表中
plc_info.append({'id':id,'name': plc_name, 'ip': plc_ip, 'db': db_number,'address': start_address,'db_size': db_size, 'data_type': data_type})
6.打印total_rows,plc_info

源码
import xlrd# 读取Excel文件
workbook = xlrd.open_workbook('plc.xlsx')
# 读取第一个表
sheet = workbook.sheet_by_index(0)
# 获取表格总行数
total_rows = sheet.nrows
print(total_rows)
# 获取表的PLC信息
plc_list = []
for row in range(1, total_rows): # 获取第1到最后行的数据id = int(sheet.cell_value(row,0)) #获取第一行索引为0的数据plc_name = sheet.cell_value(row, 1) # 获取PLC名plc_ip = sheet.cell_value(row, 2) # 获取IP地址db_number = int(sheet.cell_value(row, 3)) # 获取DB块号start_address = int(sheet.cell_value(row,4)) #获取起始地址db_size = int(sheet.cell_value(row, 5)) # 获取DB大小data_type = sheet.cell_value(row, 6) # 获取数据类型plc_list.append({'id':id,'name': plc_name, 'ip': plc_ip, 'db': db_number, 'address': start_address,'db_size': db_size, 'data_type': data_type})
print(plc_list)
方法二:使用pandas
import pandas as pd
1.读取excel表数据
data = pd.read_excel('./plc.xlsx', sheet_name='plc')
2.创建列表,遍历表格数据存储到字典
plc_list = []
for _, row in data.iterrows():plc_dict = {'id': row['id'],'plc_name':row['plc_name'],'plc_ip': row['plc_ip'],'db_number': row['db_number'],'start_address': row['start_address'],'db_size':row['db_size'],'data_type':row['data_type']}
3.将字典数据添加到列表中
plc_list.append(plc_dict)
4.打印plc_list

源码
import pandas as pd# 读取excel表数据存储以字典存储到列表
data = pd.read_excel('./plc.xlsx', sheet_name='plc')
plc_list = []
for _, row in data.iterrows():plc_dict = {'id': row['id'],'plc_name':row['plc_name'],'plc_ip': row['plc_ip'],'db_number': row['db_number'],'start_address': row['start_address'],'db_size':row['db_size'],'data_type':row['data_type']}plc_list.append(plc_dict)
print(plc_list)
相关文章:
Python采集学习笔记-读取excel数据
表格格式 方法一:使用xlrd import xlrd 1.读取Excel文件 workbook xlrd.open_workbook(plc.xlsx) 2.读取第一个表 sheet workbook.sheet_by_index(0) 3.获取表格总行数 total_rows sheet.nrows 4.创建列表,存储表格一行中每一列信息 plc_info [] for row in range(1…...
幻兽帕鲁服务器游戏怎么升级版本?
幻兽帕鲁服务器游戏怎么升级版本?自建幻兽帕鲁服务器进入Palworld游戏提示“您正尝试加入的比赛正在运行不兼容的游戏版本,请尝试升级游戏版本”什么原因?这是由于你的客户端和幻兽帕鲁服务器版本不匹配,如何解决?更新…...
【ASP.NET Core 基础知识】--身份验证和授权--授权和策略
一、授权和策略的概念及应用 在ASP.NET Core中,授权和策略是重要的安全概念,用于确定用户是否有权限执行特定的操作或访问特定的资源。以下是关于ASP.NET Core中授权和策略的概念及其应用的一些重要信息: 1.1 授权(Authorizatio…...
20240130在ubuntu20.04.6下卸载NVIDIA显卡的驱动
20240130在ubuntu20.04.6下卸载NVIDIA显卡的驱动 2024/1/30 12:58 缘起,为了在ubuntu20.4.6下使用whisper,以前用的是GTX1080M,装了535的驱动。 现在在PDD拼多多上了入手了一张二手的GTX1080,需要将安装最新的545的驱动程序&#…...
汽车标定技术(十七)--Bypass的前世今生
目录 1.Bypass的诞生 2.Bypass的发扬光大 2.1 基于XCP的Bypassing 2.2 基于Debug的Bypass 2.3 小结 3.Bypass的实际应用 1.Bypass的诞生 下图我相信只要用过INCA的朋友都非常熟悉。 这是远古时期(2000年左右?我猜)ETAS针对发动机控制参数标定设计的一种并行数据…...
【开源精选导航】GitHub-Chinese-Top-Charts:一榜在手,优质中文项目轻松找寻
各位热爱开源技术的朋友们,你们是否有过这样的困扰:面对浩瀚的GitHub海洋,想找寻那些具有高质量中文文档的优秀开源项目却无从下手?今天,我们就为大家揭晓一个宝藏般的开源项目——GitHub 中文项目集合(访问…...
C++ 11新特性之语法甜点1
概述 C 11中引入了许多简化编程工作的语法上的新特性,我们暂且美其名曰:“语法甜点”。下面,我们将对这些“语法甜点”一一进行介绍。 语法甜点1:序列for循环 序列for循环是一种简化的for循环,可用于遍历一组序列&…...
【智能家居】6、语音控制及网络控制代码实现
一、语音控制 1、指令结构体编写 这个结构体定义了一个命令输入的模型。在这个模型中,包含以下几个部分: cmdName:一个长度为128的字符串,用于存储命令名称。dvicesName:一个长度为128的字符串,用于存储设…...
Windows断开映射磁盘提示“此网络连接不存在”,并且该磁盘直在资源管理器中
1、打开注册表编辑器 快捷键winR 打开“运行”, 输入 regedit 2、 删除下列注册表中和无法移除的磁盘相关的选项 \HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\ 3、打开“任务管理器”,重新启动“Windows资源…...
Java项目要不要部署在Docker里?
部署Java项目有很多种方式,传统的方式是直接在物理机或虚拟机上部署应用,但为什么现在容器化部署变得越来越流行, 个人觉得原因有以下几个: 1、 环境一致性:使用Docker可以确保开发、测试和生产环境的一致性ÿ…...
Linux 入门基础知识(一)—— Linux的基本使用
Linux 入门基础知识 一、Linux的基本使用和配置1.1、终端1.2、消耗内存1.3、运行级别1.6、登录前欢迎语1.5、登录后欢迎语1.6、shell1.7、ps aux1.8、设置主机名1.9、whoami和who am i1.10、命令提示符 二、Linux执行命令的过程详解和命令类型2.1、命令执行2.2、hash缓存表2.3、…...
纯静态微信小程序水果商城
首页代码 <view class"container"><!-- 轮播图 --><view class"swiper-container"><swiper class"screen-swiper" indicator-dots"true" circular"true" autoplay"true" interval"300…...
操作系统-线程的实现方式和多线程模型(用户级线程 内核级线程 多线程模型的情况)和线程的状态,转换,组织,控制
文章目录 线程的实现方式和多线程模型总览线程的实现方式用户级线程内核级线程多线程模型一对一多对一多对多 小结 线程的状态,转换,组织,控制总览 线程的状态与转换线程的组织与控制 线程的实现方式和多线程模型 总览 线程的实现方式 用户级线程 程序自己通过自己设计的线程…...
计算机网络 应用层
文章目录 应用层域名系统 DNS域名系统概述互联网的域名结构域名服务器 文件传送协议FTP 概述FTP 的基本工作原理简单文件传送协议 TFTP 远程终端协议 TELNET万维网 WWW统一资源定位符 URL超文本传送协议 HTTP万维网的信息检索系统 电子邮件电子邮件概述简单邮件传送协议 SMTP邮…...
拥有你的微调大模型,零代码定制+算力免费送
2023年,ChatGPT的横空出世掀起了人工智能领域的新一轮革命。 很快大模型的潮水就越过广袤的太平洋,席卷国内科技圈和投资圈,几乎所有科技公司都在押注大模型。根据工信部赛迪研究院数据,预计2023年我国语言大模型市场规模将达到1…...
《Docker技术革命:从虚拟机到容器化,全面解析Docker的原理与应用-上篇》
文章目录 Docker为什么会出现总结 Docker的思想Docker历史总结 Docker能干嘛虚拟机技术虚拟机技术的缺点 容器化技术Docker和虚拟机技术的区别 Docker概念Docker的基本组成镜像(image)容器(container)仓科(repository)…...
C,C++,C# 的区别
C,C,C# 是三种不同的编程语言。它们有一些共同点,但也有很多区别。 C是一种过程式编程语言,被广泛用于系统级编程和嵌入式开发。它具有简单的语法和较小的标准库,适合于高效的低级编程和处理底层细节。 C是一种面向对…...
操作筛选器的 1 个应用实例:自动启用事务
前言 在数据库操作过程中,有一个概念是绕不开的,那就是事务。 事务能够确保一系列数据库操作要么全部成功提交,要么全部失败回滚,保证数据的一致性和完整性。 在 Asp.Net Core Web API 中,我们可以使用操作筛选器给…...
搭建基于Java的分布式爬虫系统
目录 前言 一、分布式爬虫系统的架构设计 二、系统搭建步骤 1. 创建爬虫项目 2. 导入相关依赖 3. 编写分布式爬虫系统的核心代码 3.1 节点管理器(Node Manager) 3.2 调度器(Scheduler) 3.3 下载器(Downloader…...
rancher证书过期问题处理
问题 起初,打开rancher ui页面打不开,telnet rancher的服务端口也不通。查看rancher 控制节点,日志显示,X509:certificate has expired or is not ye valid。证书已过期 解决 现在网上大部分的解决方案都是针对的2…...
KubeSphere 容器平台高可用:环境搭建与可视化操作指南
Linux_k8s篇 欢迎来到Linux的世界,看笔记好好学多敲多打,每个人都是大神! 题目:KubeSphere 容器平台高可用:环境搭建与可视化操作指南 版本号: 1.0,0 作者: 老王要学习 日期: 2025.06.05 适用环境: Ubuntu22 文档说…...
大数据学习栈记——Neo4j的安装与使用
本文介绍图数据库Neofj的安装与使用,操作系统:Ubuntu24.04,Neofj版本:2025.04.0。 Apt安装 Neofj可以进行官网安装:Neo4j Deployment Center - Graph Database & Analytics 我这里安装是添加软件源的方法 最新版…...
Ubuntu系统下交叉编译openssl
一、参考资料 OpenSSL&&libcurl库的交叉编译 - hesetone - 博客园 二、准备工作 1. 编译环境 宿主机:Ubuntu 20.04.6 LTSHost:ARM32位交叉编译器:arm-linux-gnueabihf-gcc-11.1.0 2. 设置交叉编译工具链 在交叉编译之前&#x…...
【Linux】shell脚本忽略错误继续执行
在 shell 脚本中,可以使用 set -e 命令来设置脚本在遇到错误时退出执行。如果你希望脚本忽略错误并继续执行,可以在脚本开头添加 set e 命令来取消该设置。 举例1 #!/bin/bash# 取消 set -e 的设置 set e# 执行命令,并忽略错误 rm somefile…...
微软PowerBI考试 PL300-选择 Power BI 模型框架【附练习数据】
微软PowerBI考试 PL300-选择 Power BI 模型框架 20 多年来,Microsoft 持续对企业商业智能 (BI) 进行大量投资。 Azure Analysis Services (AAS) 和 SQL Server Analysis Services (SSAS) 基于无数企业使用的成熟的 BI 数据建模技术。 同样的技术也是 Power BI 数据…...
k8s从入门到放弃之Ingress七层负载
k8s从入门到放弃之Ingress七层负载 在Kubernetes(简称K8s)中,Ingress是一个API对象,它允许你定义如何从集群外部访问集群内部的服务。Ingress可以提供负载均衡、SSL终结和基于名称的虚拟主机等功能。通过Ingress,你可…...
Cesium1.95中高性能加载1500个点
一、基本方式: 图标使用.png比.svg性能要好 <template><div id"cesiumContainer"></div><div class"toolbar"><button id"resetButton">重新生成点</button><span id"countDisplay&qu…...
PPT|230页| 制造集团企业供应链端到端的数字化解决方案:从需求到结算的全链路业务闭环构建
制造业采购供应链管理是企业运营的核心环节,供应链协同管理在供应链上下游企业之间建立紧密的合作关系,通过信息共享、资源整合、业务协同等方式,实现供应链的全面管理和优化,提高供应链的效率和透明度,降低供应链的成…...
无法与IP建立连接,未能下载VSCode服务器
如题,在远程连接服务器的时候突然遇到了这个提示。 查阅了一圈,发现是VSCode版本自动更新惹的祸!!! 在VSCode的帮助->关于这里发现前几天VSCode自动更新了,我的版本号变成了1.100.3 才导致了远程连接出…...
汽车生产虚拟实训中的技能提升与生产优化
在制造业蓬勃发展的大背景下,虚拟教学实训宛如一颗璀璨的新星,正发挥着不可或缺且日益凸显的关键作用,源源不断地为企业的稳健前行与创新发展注入磅礴强大的动力。就以汽车制造企业这一极具代表性的行业主体为例,汽车生产线上各类…...
