Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
P
papertools
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Yutong Wu
papertools
Commits
67203ba8
Commit
67203ba8
authored
May 09, 2025
by
matianyun
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Update check_ccfa.py
parent
ebfcafa0
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
32 additions
and
8 deletions
+32
-8
check_ccfa_strict/check_ccfa.py
+32
-8
No files found.
check_ccfa_strict/check_ccfa.py
View file @
67203ba8
...
...
@@ -33,6 +33,16 @@ def extract_bracket_content(s):
match
=
re
.
search
(
r'[((](.*?)[))]'
,
s
)
return
match
.
group
(
1
)
.
strip
()
if
match
else
None
def
extract_abbr_before_colon
(
s
):
"""
提取冒号前的内容(支持中英文冒号),并只保留英文字母
"""
split_result
=
re
.
split
(
r'[::]'
,
s
,
1
)
if
len
(
split_result
)
>
1
:
abbr
=
re
.
sub
(
r'[^A-Za-z]'
,
''
,
split_result
[
0
])
return
abbr
if
abbr
else
None
return
None
def
main
():
# 1. 读取CCF-A列表
abbr_set
,
fullname_set
=
read_ccf_a_list
(
ccf_a_csv
)
...
...
@@ -60,23 +70,37 @@ def main():
print
(
f
"错误:{sheetname} 页,标题栏应该在第四行!!第四列标题为【{col4}】,第五列标题为【{col5}】,不符合要求!"
)
sys
.
exit
(
1
)
# 5. 逐行处理
for
row
in
ws
.
iter_rows
(
min_row
=
header_row_idx
+
1
):
name_cell
=
row
[
3
]
# 第四列
result_cell
=
row
[
4
]
# 第五列
name
=
name_cell
.
value
if
name
==
'Proceedings of the 26th ACM International Conference on Architectural Support for Programming Languages and Operating Systems'
:
breakpoint
()
if
not
name
or
not
str
(
name
)
.
strip
():
result_cell
.
value
=
""
continue
name_str
=
str
(
name
)
.
strip
()
#
6. 先提取括号内内容
#
1. 括号简称
bracket
=
extract_bracket_content
(
name_str
)
is_ccfa
=
False
if
bracket
and
bracket
in
abbr_set
:
is_ccfa
=
True
elif
name_str
in
fullname_set
:
is_ccfa
=
True
result_cell
.
value
=
"是"
if
is_ccfa
else
"否"
bracket_abbr
=
re
.
sub
(
r'[^A-Za-z]'
,
''
,
bracket
)
if
bracket
else
None
# 2. 冒号前简称
colon_abbr
=
extract_abbr_before_colon
(
name_str
)
# 判断是否有简称(括号或冒号前)
if
bracket_abbr
or
colon_abbr
:
match
=
False
if
bracket_abbr
and
bracket_abbr
in
abbr_set
:
match
=
True
elif
colon_abbr
and
colon_abbr
in
abbr_set
:
match
=
True
result_cell
.
value
=
"是"
if
match
else
"否"
else
:
# 没有简称,判断全称包含
is_ccfa
=
False
for
fullname
in
fullname_set
:
if
fullname
and
fullname
in
name_str
:
is_ccfa
=
True
break
result_cell
.
value
=
"是"
if
is_ccfa
else
"否"
# 7. 保存新文件
base
,
ext
=
os
.
path
.
splitext
(
excel_path
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment