如何用Python将字典中的所有空格替换为下划线?
解决步骤
1. 替换作品名中的空格为下划线
先处理字典里的作品名,把空格替换成下划线,这一步用字符串的replace方法就能轻松实现:
art_dictionary = { "Wassily Kandinsky": "Composition VIII", "Zhou Fang": "Ladies Wearing Flowers in Their Hair", } # 生成带下划线的作品名字典 formatted_artworks = {artist: artwork.replace(" ", "_") for artist, artwork in art_dictionary.items()}
2. 从维基百科获取德语作品名
推荐用wikipedia-api库,它对初学者友好,能简化维基百科的API调用。先安装这个库:
pip install wikipedia-api
然后编写代码获取对应德语标题:
import wikipediaapi # 初始化英文维基百科对象 wiki = wikipediaapi.Wikipedia('en') def get_german_title(english_title): # 打开英文维基页面 page = wiki.page(english_title) if not page.exists(): return "未找到对应页面" # 获取德语语言链接的标题 german_page = page.langlinks.get('de') return german_page.title if german_page else "无德语版本" # 批量获取德语名称 for artist, artwork in art_dictionary.items(): german_name = get_german_title(artwork) print(f"{artist}: {artwork} → {german_name}")
3. 准备导入Anki的文件
把获取到的德语名称整理成CSV文件(Anki支持CSV导入):
import csv # 整理数据 anki_data = [["艺术家", "英文作品名", "德语作品名"]] for artist, artwork in art_dictionary.items(): german_name = get_german_title(artwork) anki_data.append([artist, artwork, german_name]) # 写入CSV文件 with open('artworks_german.csv', 'w', encoding='utf-8', newline='') as f: writer = csv.writer(f) writer.writerows(anki_data)
之后打开Anki,创建新卡组,选择导入这个CSV文件,按提示映射字段就能完成导入。
注意:部分作品可能没有德语维基页面,需要后续手动补充;如果遇到请求限制,可在循环中加入time.sleep(1)降低调用频率。
内容的提问来源于stack exchange,提问作者FriendlyGuy96
相关产品推荐
相关产品推荐

