如何解决使用Python的pywin32中的表来复制字符串,例如= IFSA1 ='CA','California',A1 ='AL','Alabama',A1 ='NY','New York'
新手在这里
我假设这是一种情况,例如当您要使用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(在sheet1中)的值将被直接复制到F10(在sheet2中),而无需替换。
有人可以帮我吗?
谢谢。
解决方法
由于字典中有数据,您可以直接将其称为dict[element]
。
>>> trans['CA']
>>> 'California'
代码:
trans={'CA':'California','TX':'Texas','NY':'New York'}
wb2.Range('F10').value= trans[str(wb1.Range('F2'))]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。