Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用整词作为键在python中进行翻译_Python_Python 3.x_Pandas - Fatal编程技术网

如何使用整词作为键在python中进行翻译

如何使用整词作为键在python中进行翻译,python,python-3.x,pandas,Python,Python 3.x,Pandas,我有一个表,其中包含由“=”分隔的标记及其翻译(其中一行是“ACTION_PLAN=ACTION PLAN”)。我需要解析另一个文件并用所有标记替换这些值 我用以下代码创建了一个dict,它将所有令牌作为键,将短语作为值: with open(dictionaryFileName) as d: commands = dict(line.split('=', 1) for line in d) 它实现了我的意图,一个带有“TOKEN:Phrase”的口述 但是,我现在需要使用这个dict

我有一个表,其中包含由“=”分隔的标记及其翻译(其中一行是“ACTION_PLAN=ACTION PLAN”)。我需要解析另一个文件并用所有标记替换这些值

我用以下代码创建了一个dict,它将所有令牌作为键,将短语作为值:

with open(dictionaryFileName) as d:
    commands = dict(line.split('=', 1) for line in d)
它实现了我的意图,一个带有“TOKEN:Phrase”的口述

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

该文件类似于“行动计划、小组分析、地图报告、读取”,每个逗号正好是一个标记,因此我尝试执行以下操作:

data = pd.read_csv(permissionFileName)

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

print(data)
其中“module_name”是第一列的名称

但它只是返回完全相同的结果,没有任何变化,也没有例外。我做了一些研究,发现dict需要使用unicode字符作为键,无论如何,除了自己创建方法之外,还要解决这个问题

此特定代码块应为: 输入

输出:

Action Plan,GROUP_ANALYTICAL_ACTION_PLAN_REPORT,READ
Action Plan,GROUP_ANALYTICAL_MAP_REPORT,READ
字典:

ACTION_PLAN=Action Plan
如中所述,您可以使用以下任一选项,其中
map
被称为更快。
数据[“模块名称”]。替换(命令)
数据[“模块名称”]。映射(命令)

如果是部分替换(对于阅读本文的任何其他人),您可以使用
data[“module_name”]。
,它有两个功能,因此请谨慎使用:

  • 启用部分替换
  • 允许正则表达式

您是否尝试过
数据[“模块名称”]。替换(命令)
?@LaurensKoppenol它返回此异常类型错误:replace()缺少1个必需的位置参数:“repl”啊抱歉,已更新命令。您总是希望替换整个值,对吗?或者字符串的一部分?然后
系列。替换
应该可以,或者在这里查看
映射
选项以及@politicalscientist两者实际上都起了作用,但似乎映射速度更快,所以我正在使用它。谢谢你们两个!
ACTION_PLAN=Action Plan