You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 09:55:20