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