python 统计中国观鸟记录中心官网已观测的鸟类种类

python 统计中国观鸟记录中心官网已观测的鸟类种类

中国观鸟记录中心网站:https://www.birdreport.cn/

先下载官网 Excel 文件
在这里插入图片描述
文件放置目录如下:

  • home
    • dataset
      • xxx.xlsx
      • xxx.xlsx
      • xxx.xlsx
    • Excelgrep.py (进行文件内容提取的程序)
代码展示

具体代码可以看注释

# -*- coding: utf-8 -*-
# 中文太多避免乱码
import pandas as pd
import openpyxl
import os
# 使用字典存储鸟类信息
birds_info = {}
# 获取代码当前所在目录
home_path = os.getcwd()
# 获取 34 个 excel 所在目录
excels_path = os.path.join(home_path, 'dataset')
for excel_name in os.listdir(excels_path):# 获取文件名和路径print(excel_name)excel_path = os.path.join(excels_path, excel_name)# 读取文件内容excel_file = pd.read_excel(excel_path)# 按行读取文件信息for index, row in excel_file.iterrows():# 获取 excel 单行鸟类的信息row_dict = row.to_dict()# 使用中文名作为后面键值对输入的判断标志bird_c_name = row_dict['中文名']bird_e_name = row_dict['英文名称']bird_l_name = row_dict['拉丁学名']bird_id = row_dict['鸟种编号']# 用于临时存储单个鸟类的信息bird_info = {'英文名称': bird_e_name,'拉丁学名': bird_l_name,'鸟种编号': bird_id}print(bird_info)if bird_c_name not in birds_info:birds_info[bird_c_name] = bird_info# 打印成新的 excel
# 先将字典转换为 DataFrame
bird_excel = pd.DataFrame(birds_info).T  # .T 转置操作将行列互换# 再将 DataFrame 写入 Excel 文件
output_file = 'bird_excel.xlsx'  # 输出的 Excel 文件名,保存在 home_path 路径下
bird_excel.to_excel(output_file)
结果

在这里插入图片描述
在这里插入图片描述
一共 1379

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

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

相关文章

关于Ubuntu虚拟机突然上不了网的问题

今天刚重新把Ubuntu虚拟机下回来准备大干一场,结果去吃饭回来虚拟机就上不去网了,具体体现为右上角没有网络的图标,下图是有网络的情况,废话不多说,直接给出解决方案:博客在此 我就是运行了这三行代码就成功…

如何杀死服务器出现的僵尸进程

今天在服务器上进行深度学习训练的时候,发现已经结束程序代码,但是GPU还是显示显存在运行。 为了解决这些问题,网上查找了大量的资料,发现是因为僵尸进程的原因,因此记录相关的解决步骤,方便自己和大家。 …

Error: Unable to find git in your PATH. flutter dart

我的是重装git ,参考 flutter Unable to find git in your PATH - ZJH_BLOGS - 博客园 (cnblogs.com)

一周速递|全球车联网产业动态(2024年3月17日)

政策法规 1、3月16日,在中国电动汽车百人会论坛(2024)国际论坛上,国家发改委、工信部、科技部、商务部、住建部等国家部委表示将采取更多务实举措,支持新能源汽车行业企业发展,加大对全固态电池、智能网联…

Elasticsearch(12) match_bool_prefix的使用

elasticsearch version: 7.10.1 match_bool_prefix 是 Elasticsearch 中用于执行布尔前缀查询的一种查询类型。这种查询类型特别适用于当你想要匹配一个字段的前缀,并且希望这个字段中的词语是按照一定顺序出现的场景。 match_bool_prefix 语法 { &q…

设计模式 — — 单例模式

一、是什么 单例模式只会在全局作用域下创建一次实例对象,让所有需要调用的地方都共享这一单例对象 二、实现 // 单例构造函数 function CreateSingleton (name) {this.name name;this.getName(); };// 获取实例的名字 CreateSingleton.prototype.getName func…

✅技术社区—跨域问题及解决方案

一、什么是跨域、为什么会跨域? 我们把问题分解 谁出现的跨域? 》 浏览器! 为何出现? 》 同源策略 什么是同源策略? 根据百度百科 同源策略/SOP(Same origin policy)是一种约定&#xff0…

Linux 时间系统调用

UNIX及LinuxQ的时间系统是由「新纪元时间」Epoch开始计算起。Epoch是指定为1970年1月1日凌晨零点零分零秒,格林威治时间。目前大部份的UNX系统都是用32位来记录时间,正值表示为1970以后,负值则表示1970年以前。 对于当前时间到Epoch 我们用两…

代码算法训练营day10 | 232.用栈实现队列、225. 用队列实现栈

day10: 232.用栈实现队列225. 用队列实现栈 232.用栈实现队列 题目链接 状态: 文档:programmercarl.com 思路: 用栈实现队列。要先明白两者的区别。 栈:单开门,先进后出,只有一端能进出。 队列:…

继承 ResponseEntityExceptionHandler

目录 作用概述 示例-HttpRequestMethodNotSupportedException 示例-自定义异常处理 总示例 使用了ResponseEntityExceptionHandler后,为什么发生了异常后返回体为空 方法执行顺序 作用概述 这是一个方便的基类,用于希望通过 ExceptionHandler 方法…

Vue项目的搭建

Node.js 下载 Node.js — Download (nodejs.org)https://nodejs.org/en/download/ 安装 测试 winR->cmd执行 node -v配置 在安装目录下创建两个子文件夹node_cache和node_global,我的就是 D:\nodejs\node_cache D:\nodejs\node_global 在node_global文件下再创建一个…

并查集(详解+例题)

1、作用 将两个集合合并 询问两个元素是否在一个集合中 2、基本原理 每个集合用一颗树表示。树根的编号就是整个集合的编号。每个节点存储它的父节点,p[x]表示x的父节点。 3、实现 问题1:如何判断树根:if(p[x]x); 问题2:如何求…

C++ 特殊类及单例模式

文章目录 1. 前言2. 不能被拷贝的类3. 不能被继承的类4. 只能在堆上创建对象的类5. 只能在栈上创建对象的类6. 只能创建一个对象的类(单例模式) 1. 前言 在实际场景中,我们在编写类的过程中总会遇到一些特殊情况,比如设计一个类不…

深入解析红黑树(RB-Tree):原理、操作及应用

文章目录 一、红黑树的特点与性质二、红黑树的实现1、实现红黑树的插入操作2、红黑树的验证方法a. Check 函数b. IsBalance 函数 红黑树作为一种自平衡的二叉搜索树,在计算机科学领域中占据着重要的地位。它的设计旨在在维持树的平衡性的同时,保证各种操…

红队攻防之exe文件签名免杀

达则兼善天下,穷则独善其身 1、生成 cobaltstrike bin文件,选择raw选项。 2、使用 cobaltstrike分离免杀工具生成loader.exe文件。 3、使用UPX对生成的exe文件进行加壳,加壳前后对比文件的大小。 4、对loader.exe进行制作并签发证书-数字签名…

数通-OSPF基础-01

动态路由;两端设备必须使用相同的动态路由协议(形成路由域) 设备1运行RIP——设备2运行RIP、OSPF——设备3运行OSPF,两个协议之间进行路由学习(路由引入技术) 动态路由更新方式:1.周期更新——…

国家推荐标准 20986 2023 信息安全技术 网络安全事件分类分级指南 学习记录

网络安全事件分类分级指南是指在网络安全领域对不同类型的安全事件进行分类和分级的指南和标准。这样的分类分级指南有助于标准化对安全事件的处理和应对措施,并能够帮助组织更好地应对和管理安全事件。 一般来说,网络安全事件可以根据其严重性、影响程…

UDF提权

目录 一、UDF概述 二、提权条件 三、漏洞复现 (一) 信息收集 1. Nmap信息收集 1.1、查看当前IP地址 1.2、扫描当前网段,找出目标机器 1.3、快速扫描目标机全端口 2. dirb目录扫描 3. 第一个flag 3.1、目录遍历漏洞 3.2、flag 4. 敏感信息利用 (二) 漏…

ElasticSearch常见用法,看这一篇就够了(文末送书)

2024送书福利正式起航 关注「哪吒编程」,提升Java技能 文末送3本《一本书讲透Elasticsearch:原理、进阶与工程实践》 大家好,我是哪吒。 ElasticSearch是一款由Java开发的开源搜索引擎,它以其出色的实时搜索、稳定可靠、快速安…

UE4 虚幻4快捷键教程

一、编辑器Viewports常用快捷键 1.文本类 新建文件 【Ctrl】【N】 打开文件 【Ctrl】【O】 储存文件 【Ctrl】【S】 2.选择操作类相关快捷键(可通过键盘操作实现) 全部选择 【Ctrl】【A】 复制 【Ctrl】【C】 粘贴 【Ctrl】【V】 剪切 【Ctrl】【X】 查找 【Ctrl】【…