python 统计中国观鸟记录中心官网已观测的鸟类种类
中国观鸟记录中心网站:https://www.birdreport.cn/
先下载官网 Excel 文件
文件放置目录如下:
- home
- dataset
- xxx.xlsx
- xxx.xlsx
- xxx.xlsx
- Excelgrep.py (进行文件内容提取的程序)
- dataset
代码展示
具体代码可以看注释
# -*- 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 种