ai_member_xiaoyan/find_music_words.py

30 lines
1.3 KiB
Python

import pandas as pd
file_path = r'/root/.openclaw/workspace-xiaoyan/business_knowledge/L2单词表/L2知识库-三级+A2.xlsx'
df = pd.read_excel(file_path)
music_keywords = ['唱歌', '音乐', '歌曲', '', '', '乐器', '钢琴', '吉他', '小提琴', '',
'演奏', '乐队', '音乐会', '演唱会', '旋律', '节奏', '音符', '录音', '歌手',
'sing', 'song', 'music', 'musical', 'piano', 'guitar', 'violin', 'drum',
'band', 'concert', 'melody', 'rhythm', 'note', 'record', 'singer', 'musician',
'instrument', 'listen', 'sound', 'voice', 'choir', 'opera', 'jazz',
'rock', 'pop', 'dance', 'rap', 'tune', 'lyric', 'album', 'audio']
results = []
for idx, row in df.iterrows():
word = str(row.iloc[0]).strip().lower()
meaning = str(row.iloc[2]).strip().lower() if len(row) > 2 else ''
for kw in music_keywords:
if kw in word or kw in meaning:
results.append(row)
break
print(f"L2知识库总单词数: {len(df)}")
print(f"\n🎵 唱歌/音乐相关单词 ({len(results)} 个):")
print("-" * 60)
print(f"{'单词':<25} {'词性':<10} {'中文释义'}")
print("-" * 60)
for row in sorted(results, key=lambda x: str(x.iloc[0]).lower()):
print(f"{str(row.iloc[0]):<25} {str(row.iloc[1]):<10} {str(row.iloc[2])}")