gpt4 book ai didi

python - 格式 : wrong string width when UTF-8 encoding

转载 作者:行者123 更新时间:2023-11-30 23:06:09 25 4
gpt4 key购买 nike

当我有“ä”、“ü”、“ö”等字符时,我得到错误的格式输出。我从 excel-sheet-column 中读取名称,其中有时包含 Unicode 字符串,我将其编码为 UTF-8。我的简化代码:

import xlrd

name1 = (xl_sheet.cell_value(row,5)).encode('utf8') # use this because this cell can have strings with chars like "ö"
name2 = (xl_sheet.cell_value(row,7)).encode('utf8')

print('{:<15} {:<15}'.format(name1,name2)),

当我不使用 .encode 时,出现此错误:

'ascii' codec can't encode character u'\xf6' in position 1: ordinal not in range(128)

我发现了类似的帖子:Python String format width wrong when characters like é or ö in the string ,但我不知道如何在我的情况下实现它!?

我的输出表是这样的:

oabcd           oabcd
öabcd oabcd
oabcd oabcd

当 f.e. char 'ö' 在变量中,则输出不正确。

Excel 文件具有 CP-1252“Windows Unicode”编码。

xlrd.open_workbook(filename).encoding 的输出为:utf_16_le。

最佳答案

这很简单:

import sys
reload(sys)
sys.setdefaultencoding("utf-8")

发挥作用。主代码中的.encode('utf8')不是必需的。

关于python - 格式 : wrong string width when UTF-8 encoding,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32813718/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com