有没有更好的方法来使用sam var多个字符串模数格式?

时间:2016-06-13 07:14:19

标签: python

我的python代码中有一个行计数器,想要基于这个计数器构建一个Excel公式。目前我使用此代码,但我认为它不是真正的python。有更好的方式来表达吗?

ws["K%d" % counter] = "=F%i*25+G%i*50+H%i*75+I%i*100" % (counter, counter, counter, counter)

2 个答案:

答案 0 :(得分:1)

您可以使用以下版本之一:

# Still using the % operator:
ws["K%d" % counter] = "=F%(c)i*25+G%(c)i*50+H%(c)i*75+I%(c)i*100" % dict(c=counter)
# Using .format()
ws["K%d" % counter] = "=F{c}*25+G{c}*50+H{c}*75+I{c}*100".format(c=counter)

答案 1 :(得分:0)

有很多方法可以实现所需的输出:

  1. 位置参数为string.format

    ws["K%d" % counter] = "=F{0}*25+G{0}*50+H{0}*75+I%{0}*100".format(counter)
    
  2. 使用关键字参数string.format

    ws["K%d" % counter] = "=F{c}*25+G{c}*50+H{c}*75+I{c}*100".format(c=counter)
    
  3. 使用string.Template

    import string
    ws["K%d" % counter] = string.Template("=F$c*25+G$c*50+H$c*75+I%$c*100").substitute(c=counter)
    
  4. 祝你好运!