31 lines
848 B
Python
31 lines
848 B
Python
import pandas as pd
|
||
|
||
def calculate_zodiac(birth_date):
|
||
"""
|
||
根据出生日期推断生肖 (基于公历年份简单算法)
|
||
逻辑:1900年是鼠年,以此为基准进行模运算
|
||
"""
|
||
if pd.isna(birth_date):
|
||
return "未知"
|
||
|
||
# 确保是 datetime 对象,方便提取年份
|
||
try:
|
||
birth_date = pd.to_datetime(birth_date)
|
||
except:
|
||
return "格式错误"
|
||
|
||
year = birth_date.year
|
||
|
||
# 生肖列表,顺序必须固定:鼠、牛、虎...
|
||
zodiacs = ['鼠', '牛', '虎', '兔', '龙', '蛇', '马', '羊', '猴', '鸡', '狗', '猪']
|
||
|
||
# 算法核心:(年份 - 1900) % 12 得到索引
|
||
# 1900年是鼠年,索引为0
|
||
index = (year - 1900) % 12
|
||
return zodiacs[index]
|
||
|
||
# --- 主程序 ---
|
||
|
||
# 1. 读取 Excel 文件
|
||
file_path = 'names.xlsx' # 你的文件名
|