我正在尝试将标签(例如1000-1200)格式化为1,000-1,200€)

这工作正常:

labels = ["{:,}-{:,}".format(int(i[0].split("-")[0]), int(i[0].split("-")[1])) for i in labels]

['600-800', '1,000-1,200', '1,800-2,000', '2,600-2,800', '3,000-3,200']


但是当我尝试设置€符号时:

labels = ["u'{:,}-{:,}€'".format(int(i[0].split("-")[0]), int(i[0].split("-")[1])) for i in labels]


我正进入(状态:

UnicodeDecodeError: 'utf8' codec can't decode bytes in position 9-10: unexpected end of data


一个想法如何纠正它?

最佳答案

您应该对字符串文字本身使用u标志,而不是将其作为字符串的一部分引用:

labels = [u'{:,}-{:,}€'.format(int(i[0].split("-")[0]), int(i[0].split("-")[1])) for i in labels]

关于python - 格式化标签时编码错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54730091/

10-13 09:15