Skip to content

Commit 9e685b2

Browse files
committed
修复 名单导入 ,列模糊匹配词补全
1 parent b2488a3 commit 9e685b2

3 files changed

Lines changed: 146 additions & 10 deletions

File tree

CHANGELOG/v2.3.0/CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ v2.3 - Shiroko (砂狼白子) release 1
2828
- 修复 **人脸抽取**,启动多线程崩溃
2929
- 修复 **名单导入**,支持 xls 文件读取
3030
- 修复 **导出所有数据**,对话框按钮语言缺失
31+
- 修复 **名单导入**,列模糊匹配词补全
3132

3233
## 🔧 其它变更
3334

app/view/another_window/prize/import_prize_name.py

Lines changed: 66 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -506,17 +506,78 @@ def __update_column_combos(self):
506506
def __auto_map_columns(self):
507507
"""自动映射列"""
508508
# 奖品列可能的关键词(优先级从高到低)
509-
id_keywords = ["序号", "编号", "id", "no"]
509+
id_keywords = [
510+
"序号",
511+
"编号",
512+
"番號",
513+
"番号",
514+
"id",
515+
"no",
516+
"no.",
517+
"index",
518+
]
510519

511520
# 姓名列可能的关键词(优先级从高到低)
512-
name_keywords = ["奖品", "奖品名称", "奖池名称", "名称", "name"]
521+
name_keywords = [
522+
"奖品",
523+
"奖品名称",
524+
"奖品名",
525+
"奖池名称",
526+
"名称",
527+
"賞品",
528+
"景品",
529+
"商品",
530+
"商品名",
531+
"品名",
532+
"prize",
533+
"prize name",
534+
"gift",
535+
"item",
536+
"name",
537+
]
513538

514539
# 体重列可能的关键词(优先级从高到低)
515-
weight_keywords = ["权重", "weight", "概率"]
540+
weight_keywords = [
541+
"权重",
542+
"概率",
543+
"weight",
544+
"probability",
545+
"chance",
546+
"rate",
547+
"ratio",
548+
"確率",
549+
"重み",
550+
"ウェイト",
551+
]
516552

517553
# 数量列可能的关键词(优先级从高到低)
518-
count_keywords = ["数量", "count", "次数", "num", "number"]
519-
tags_keywords = ["标签", "tag", "tags", "分类", "类别"]
554+
count_keywords = [
555+
"数量",
556+
"次数",
557+
"count",
558+
"num",
559+
"number",
560+
"qty",
561+
"quantity",
562+
"個数",
563+
"数",
564+
"回数",
565+
]
566+
567+
# 标签列可能的关键词(优先级从高到低)
568+
tags_keywords = [
569+
"标签",
570+
"tag",
571+
"tags",
572+
"タグ",
573+
"ラベル",
574+
"分類",
575+
"分类",
576+
"类别",
577+
"カテゴリ",
578+
"カテゴリー",
579+
"category",
580+
]
520581

521582
# 使用更精确的匹配方法
522583
def find_best_match(keywords, columns):

app/view/another_window/student/import_student_name.py

Lines changed: 79 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -477,17 +477,91 @@ def __update_column_combos(self):
477477
def __auto_map_columns(self):
478478
"""自动映射列"""
479479
# 学号列可能的关键词(优先级从高到低)
480-
id_keywords = ["学号", "学生ID", "student id", "编号", "id", "no"]
480+
id_keywords = [
481+
"学号",
482+
"学籍号",
483+
"学籍番号",
484+
"学生番号",
485+
"学生ID",
486+
"student id",
487+
"student_id",
488+
"student number",
489+
"student no",
490+
"roll no",
491+
"roll number",
492+
"学员编号",
493+
"编号",
494+
"座号",
495+
"座位号",
496+
"出席番号",
497+
"sid",
498+
"id",
499+
"no",
500+
]
481501

482502
# 姓名列可能的关键词(优先级从高到低)
483-
name_keywords = ["姓名", "学生姓名", "名字", "student name", "名", "name"]
503+
name_keywords = [
504+
"姓名",
505+
"学生姓名",
506+
"名字",
507+
"氏名",
508+
"名前",
509+
"生徒名",
510+
"学生名",
511+
"student name",
512+
"student_name",
513+
"full name",
514+
"fullname",
515+
"名",
516+
"name",
517+
]
484518

485519
# 性别列可能的关键词(优先级从高到低)
486-
gender_keywords = ["性别", "男女", "gender", "sex"]
520+
gender_keywords = [
521+
"性别",
522+
"性別",
523+
"男女",
524+
"ジェンダー",
525+
"gender",
526+
"sex",
527+
"male",
528+
"female",
529+
"m/f",
530+
"男",
531+
"女",
532+
]
487533

488534
# 小组列可能的关键词(优先级从高到低)
489-
group_keywords = ["小组", "分组", "组别", "队伍", "group", "team"]
490-
tags_keywords = ["标签", "tag", "tags", "分类", "类别"]
535+
group_keywords = [
536+
"小组",
537+
"分组",
538+
"组别",
539+
"队伍",
540+
"班",
541+
"组",
542+
"グループ",
543+
"グループ名",
544+
"チーム",
545+
"team",
546+
"team name",
547+
"group",
548+
"group name",
549+
]
550+
551+
# 标签列可能的关键词(优先级从高到低)
552+
tags_keywords = [
553+
"标签",
554+
"tag",
555+
"tags",
556+
"タグ",
557+
"ラベル",
558+
"分類",
559+
"类别",
560+
"分类",
561+
"カテゴリ",
562+
"カテゴリー",
563+
"category",
564+
]
491565

492566
# 使用更精确的匹配方法
493567
def find_best_match(keywords, columns):

0 commit comments

Comments
 (0)