格式化标签时编码错误

时间:2019-02-17 04:24:42

标签: python python-2.7 format

我正在尝试将标签(例如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

如何纠正它的想法?

1 个答案:

答案 0 :(得分:0)

您应该对字符串文字本身使用u标志,而不是在字符串中引用它:

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