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)

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/658485.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【JAVA】Long类型返回到前端,精度丢失

一. 问题阐述 20位long类型的数字,从后端接口返回到前端后【四舍五入】 MYSQL端 (1)bigint (20) (2)具体某一条数据 JAVA端 (1)实体类 (2)服务类 (3&…

docker可视化操作

docker可视化操作,ui界面操作 1.检查docker服务状态 docker status2.安装服务 部署 Portainer 1.从镜像仓库中拉取 Portainer:docker pull portainer/portainer2.创建数据卷: docker volume create portainer_db 3.启动 Portainer命令&…

86.网游逆向分析与插件开发-物品使用-物品丢弃的逆向分析与C++代码的封装

内容参考于:易道云信息技术研究院VIP课 上一个内容:物品使用的逆向分析与C代码的封装-CSDN博客 码云地址(ui显示角色数据 分支):https://gitee.com/dye_your_fingers/sro_-ex.git 码云版本号:7563f86877c…

NFTScan 与 Merlin Protocol 共同推出 BRC20 Indexer Oracle,于今日正式上线!

近日,NFT 数据基础设施 NFTScan 与 Merlin Protocol 进行战略合作,联合推出了比特币网络原生资产 Indexer Oracle 服务,现在该服务已在 NFTScan 开发者平台上线,任何开发者都可以注册使用! Merlin Protocol 是一个专用…

linux 磁盘标签类型MBR转换为GPT

[rootlocalhost /]# fdisk -l 磁盘 /dev/sda:299.4 GB, 299439751168 字节,584843264 个扇区 Units 扇区 of 1 * 512 512 bytes 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘标签类…

解读 HTTP 和 HTTPS:有何异同?

超文本传输安全协议(HTTPS)是建立在超文本传输协议(HTTP)之上的一种安全网络传输协议。在计算机网络上传输时,HTTPS 通过传输层安全性(TLS)或它的前身安全套接字层(SSL)为…

谷歌上架防关联VPS开到和原来一样的IP造成关联?应该怎么选?

随着Google paly的发展,竞争越来越激烈,开发者们也面临的越来越多的挑战。其中,如何降低关联风险是开发者们重点关注的问题。 为了防止开发者账号的滥用或欺诈,谷歌会通过判断账号之间是否存在关联,并对违规账号进行处…

【Vue】二、Vue 组件展示控制的优雅解决方案

vue项目中展示的组件,我平常都是通过v-show进行展示控制,类似这样 通常情况下,一个正常展示组件的流程,是通过前端用户点击触发函数,在函数中对data数据进行操作,从而展示不同的页面 showWork: false, sho…

首次接触共享办公室,有哪些问题需要注意?

随着互联网和创业的发展,越来越多的企业和个人选择共享办公空间作为他们的办公场所。共享办公空间是一种提供灵活的办公模式和配套的设施和服务的空间,可以帮助企业和个人节省成本和空间,提高效率和创新,拓展人脉和资源。但是&…

【C++】STL之空间配置器(了解)

一、什么是空间配置器 空间配置器 ,顾名思义就是为各个容器高效的管理空间(空间的申请与回收)的,在默默地工作。虽然在常规使用 STL 时,可能用不到它,但站在学习研究的角度,学习它的实现原理对…

注册亚马逊店铺用动态IP可以吗?

注册亚马逊店铺可以用动态IP,只要是独立且干净的网线就没问题,亚马逊规则要求一个IP地址只能出现一个亚马逊店铺,若使用不当会导致关联账户。 固定ip可以给我们的账户带来更多的安全,要知道关联问题是亚马逊上的一个大问题&#…

PHP/原生类/Java/Python反序列化总结

PHP反序列化 #方法&属性-调用详解&变量数据详解 对象变量属性: public(公共的):在本类内部、外部类、子类都可以访问 protect(受保护的):只有本类或子类或父类中可以访问 private(私人的):只有本类内部可以使用 序列化数据显示: private 属性序…

python爬虫之豆瓣首页图片爬取

网址:https://movie.douban.com/ import requests from lxml import etree import re url https://movie.douban.com headers {User-Agent : Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.5735.289 Safari/5…

如何快速知道app当前页面是哪一个Activity(2.0升级版)

点我跳转 如何快速知道app当前页面是哪一个Activity 1.0版本 这个版本是用adb 命令实现的,想看的可以看看,学习一下adb 命令。 今天做了一个非常简易的app来直接监控当前页面Activity,效果直接炸裂,效果图如下: 有需要…

详解SpringCloud微服务技术栈:深入ElasticSearch(2)——自动补全、拼音搜索

👨‍🎓作者简介:一位大四、研0学生,正在努力准备大四暑假的实习 🌌上期文章:详解SpringCloud微服务技术栈:深入ElasticSearch(1)——数据聚合 📚订阅专栏&…

Windows断开映射磁盘提示“此网络连接不存在”,并且该磁盘直在资源管理器中

1、打开注册表编辑器 快捷键winR 打开“运行”, 输入 regedit 2、 删除下列注册表中和无法移除的磁盘相关的选项 \HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\ 3、打开“任务管理器”,重新启动“Windows资源…

Spring Boot第一天

SpringBoot概述 Spring Boot是Spring提供的一个子项目,用于快速构建Spring应用程序 传统方式构建Spring应用程序 导入依赖繁琐 项目配置繁琐 为了简化如此繁琐的配置流程,SpringBoot这一子项目提供了如下特性 SpringBoot特性 起步依赖 本质上就是一个…

代码随想录算法训练营第十六天 | 完全二叉树

目录 完全二叉树 LeetCode 222. 完全二叉树的节点个数 完全二叉树 作者:labuladong 如何求一棵完全二叉树的节点个数呢? // 输入一棵完全二叉树,返回节点总数 int countNodes(TreeNode root);如果是一个普通二叉树,显然只要向…

Camunda中强大的监听服务

文章目录 简介创建工程JavaDelegateTaskListenerExecutionListener部署发起流程CustomExecutionListener开始节点CustomExecutionListenerCustomJavaDelegateCustomExecutionListenerCustomTaskListener用户节点 ExpressionDelegate Expression流程图 简介 Camunda预览了很多接…

MTK8365安卓核心板_联发科MT8365(Genio 350)核心板规格参数

MTK8365安卓核心板是一款高性能的嵌入式处理器产品,基于联发科领先的SoC架构和先进的12纳米工艺。它集成了四核ARM Cortex-A53处理器,每个核心频率高达2.0 GHz,搭载强大的多标准视频加速器,支持高达1080p 60fps的视频解码。此外&a…