首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在python中使用完整的单词作为关键字进行翻译

如何在python中使用完整的单词作为关键字进行翻译
EN

Stack Overflow用户
提问于 2019-08-27 14:29:18
回答 1查看 212关注 0票数 2

我有一个表,其中包含由'=‘分隔的标记及其转换(其中一行将是'ACTION_PLAN=Action计划’)。我需要解析另一个文件并将所有的标记替换为这些值。

我成功地创建了一个dict,它使用以下代码将所有标记作为键,短语作为值:

代码语言:javascript
复制
with open(dictionaryFileName) as d:
    commands = dict(line.split('=', 1) for line in d)

它做了我想做的,一个带有“记号”的小词:短语

但是,我现在需要使用这个dict来替换另一个文件(一个csv)中的所有令牌。

这个文件类似于'ACTION_PLAN,GROUP_ANALYTICAL_MAP_REPORT,READ',每个逗号都是一个标记,所以我尝试执行以下操作:

代码语言:javascript
复制
data = pd.read_csv(permissionFileName)

data["module_name"] = data["module_name"].str.translate(commands)

print(data)

其中"module_name“是第一列的名称。

但是它的返回完全相同,没有任何变化,也没有例外。我做了一些研究,发现dict需要以unicode字符作为键,除了自己创建方法之外,还需要这样做呢?

预期用于此特定代码块的代码:输入

代码语言:javascript
复制
module_name, group_name, perm_name
ACTION_PLAN,GROUP_ANALYTICAL_ACTION_PLAN_REPORT,READ
ACTION_PLAN,GROUP_ANALYTICAL_MAP_REPORT,READ

产出:

代码语言:javascript
复制
Action Plan,GROUP_ANALYTICAL_ACTION_PLAN_REPORT,READ
Action Plan,GROUP_ANALYTICAL_MAP_REPORT,READ

字典:

代码语言:javascript
复制
ACTION_PLAN=Action Plan
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-08-27 14:57:35

正如在this post中所述,您可以使用以下任一项,其中map的速度更快。data["module_name"].replace(commands)data["module_name"].map(commands)

如果是部分替换(对于任何其他阅读此内容的人),您可以使用data["module_name"].replace(commands, regex=True)执行两项任务,所以请谨慎使用:

  • 启用部分替换
  • 允许雷克斯
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57676922

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档