0

新手在这里

我认为这是一种情况,例如您想使用 translate(string.maketrans) 但您想用多个字符替换某些单词。

我正在尝试自动化简单的 excel 任务,需要翻译/替换某些单词。

我知道有很多方法可以做到这一点,例如当我使用 win32 时使用 for 循环或 excel 公式本身,但我在下面尝试认为它更简单,只是在逻辑上不明白为什么它不能工作。

trans={'CA':'California','TX':'Texas','NY':'New York'}  
wb2.Range('F10').value=str(wb1.Range('F2')).translate(trans)

不返回错误,但在 wb2.Range('F10') 中什么也没有发生 → 实际上 F2(in sheet1) 的值将被复制到 F10(in sheet2) 而不进行替换。

谁能帮我吗?

谢谢你。

4

1 回答 1

0

由于您在字典中有数据,因此可以直接将其称为dict[element].

>>> trans['CA']
>>> 'California'

代码:

trans={'CA':'California','TX':'Texas','NY':'New York'}  
wb2.Range('F10').value= trans[str(wb1.Range('F2'))]
于 2020-10-11T16:06:48.713 回答