好友
阅读权限 20
听众
最后登录 1970-1-1
import pymdict
# 创建mdx对象
mdx = pymdict.MDict()
# 读取mdx文件
with open("nj.mdx", "r", encoding="utf-8") as f:
for line in f:
# 解析每一行数据
data = line.strip().split("\t")
if len(data) == 3:
# 如果数据有效,则加入到mdx对象中
word, meaning, phonetic = data
mdx[word] = [meaning, phonetic]
# 打开单词表文件
workbook = xlrd.open_workbook("words.xls")
# 创建一个新的工作簿,用于存放结果
new_workbook = xlwt.Workbook()
new_sheet = new_workbook.add_sheet("result")
# 定义一个函数,用于从mdx结果中提取音标
def extract_phonetic(result, flag):
# 根据flag参数,选择要提取的音标类型
if flag == "UK":
pattern = r"UK.*?>(.*?)<"
elif flag == "US":
pattern = r"US.*?>(.*?)<"
else:
return "N/A"
# 使用正则表达式匹配音标
match = re.search(pattern, result)
# 如果匹配到了音标,返回其内容,否则返回"N/A"
if match:
return match.group(1)
else:
return "N/A"
# 遍历单词表中的每一行
for i in range(workbook.nsheets):
sheet = workbook.sheet_by_index(i)
for j in range(sheet.nrows):
# 获取单词
word = sheet.cell_value(j, 0)
# 查询单词在mdx中的释义,返回一个列表
result = mdx.get(word, [])
# 如果查询到了结果,提取英式音标和美式音标
if result:
# 将结果转换为字符串
result = result[0]
# 调用函数,提取英式音标和美式音标
uk_phonetic = extract_phonetic(result, "UK")
us_phonetic = extract_phonetic(result, "US")
else:
uk_phonetic = "N/A" # 如果没有查询到结果,返回"N/A"
us_phonetic = "N/A"
# 将单词和音标写入新的工作表中
new_sheet.write(j, 0, word)
new_sheet.write(j, 1, uk_phonetic)
new_sheet.write(j, 2, us_phonetic)
# 保存新的工作簿为result.xls
new_workbook.save("result.xls")
出错的信息如下:
Traceback (most recent call last):
File "G:\py\cdian\yinbiao.py", line 4, in <module>
mdx = pymdict.MDict()
^^^^^^^^^^^^^
AttributeError: module 'pymdict' has no attribute 'MDict'
更换了很多个不同的库,都是说各种属性不对。请高手们帮我分析下原因。到底问题出在哪里呢?
发帖前要善用【论坛搜索 】 功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。