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' # 你的文件名