48 lines
2.9 KiB
Python
48 lines
2.9 KiB
Python
import pandas as pd
|
||
|
||
# 读取Excel文件
|
||
df = pd.read_excel('language.xlsx', usecols=['lang_en', 'lang_zh', 'lang_es', 'lang_fr', 'lang_de',
|
||
'lang_ru', 'lang_ro', 'lang_pt', 'lang_it', 'lang_pl',
|
||
'lang_he', 'lang_ms', 'lang_tr', 'lang_vi', 'lang_cs',
|
||
'lang_hu', 'lang_th'])
|
||
|
||
# 初始化一个空集合来存储唯一的字符
|
||
unique_chars = set()
|
||
|
||
# 定义要包含的标点符号
|
||
punctuation = set([ '!', '"', '#', '$', '%', '&', "'", '(', ')', '*', '+', ',', '-', '.', '/', ':', ';', '<', '=', '>',
|
||
'?', '@', '[', '\\', ']', '^', '_', '`', '{', '|', '}', '~', '℃', '℉', '?', ',', '。', ' ', '“', '”',
|
||
';', ':', '【', '】', ',', '…', '《', '》', '~', '·', '#', '&', '~', '、', '<', '>', '〝', '〞', '(',
|
||
')', '!', ' ', '¥', '≠', '€', '¥', '—', '|',])
|
||
|
||
# 定义要额外添加的文本列表
|
||
extra_texts = [
|
||
"简体中文", "Español", "Français", "ภาษาไทย", "العربية", "한국어", "Română", "Português",
|
||
"日本語.", "Ελληνικά", "Українська", "Български", "Հայերեն", "עברית", "Türkçe", "हिंदी",
|
||
"বাङ्গালি", "Tiếng Việt", "فارسی", "繁體中文", "Čeština", "Magyarország", "Slovenská",
|
||
"步", "千卡", "英里", "千米", "一月", "一月", "二月", "三月", "四月", "五月", "六月", "七月",
|
||
"八月", "九月", "十月", "十一月", "十二月", "毫米汞柱", "次/分", "。?!,、;:「」『』‘’“”()【】〔〕—…–《》〈〉",
|
||
]
|
||
|
||
# 遍历DataFrame的每一行和每一列
|
||
for _, row in df.iterrows():
|
||
for col in df.columns:
|
||
# 假设列中的值是字符串,我们将它们转换为列表,然后遍历每个字符
|
||
for char in str(row[col]):
|
||
# 如果字符是字母、数字或指定的标点符号,则添加到unique_chars集合中
|
||
if char.isalpha() or char.isdigit() or char in punctuation:
|
||
unique_chars.add(char)
|
||
|
||
unique_chars.update(punctuation)
|
||
|
||
# 将去重后的字符(包括数字、英文和符号)以及额外文本写入txt文件,按字典序排序
|
||
with open('output_chars.txt', 'w', encoding='utf-8') as f:
|
||
# 写入去重后的字符
|
||
for char in sorted(unique_chars):
|
||
f.write(char)
|
||
|
||
# 写入额外文本,每个文本后添加换行符(如果需要的话)
|
||
for text in extra_texts:
|
||
f.write(text) # 添加换行符以分隔每个额外文本
|
||
|
||
print('字符(包括数字、英文和指定符号)以及额外文本已提取并写入output_chars.txt文件。') |