如何使用整词作为键在python中进行翻译
我有一个表,其中包含由“=”分隔的标记及其翻译(其中一行是“ACTION_PLAN=ACTION PLAN”)。我需要解析另一个文件并用所有标记替换这些值 我用以下代码创建了一个dict,它将所有令牌作为键,将短语作为值:如何使用整词作为键在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
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