从 python2 脚本列表输出中删除 u' unicode
Remove u' unicode from python2 script list output
我有一个脚本可以扫描 excel sheet 并打印 A 列和一系列行,在 python 2 中输出一个列表,但具有预期的 unicode 字符,在参考了几个堆栈溢出帖子后,我似乎无法弄清楚如何摆脱它。
(6188, u'machine1')
(6189, u'machine2')
import openpyxl
wb = openpyxl.load_workbook('AnsibleReadinessReviewIP.xlsx')
sheet = wb['CIsIPaddresses']
sheet['A301']
sheet['A301'].value
A = sheet['A301']
A.value
sheet.cell(row=301, column=A)
# Get the row, column, and vlaue from the cell
'Row %s, Column %s is %s' % (A.row, A.column, A.value)
'Cell %s is %s' % (A.coordinate, A.value)
sheet['A301']
for i in range('301, 6197'):
print(i, sheet.cell(row=i, column=2).value)
如何从列表输出中删除 unicode u'?提前致谢。
更改脚本中的以下行:
选项a:print(i, str(sheet.cell(row=i, column=2).value))
选项 b:a.print(i, (sheet.cell(row=i, column=2).value).encode('ascii',
如果您看到 u
,则您使用的是 Python 2。在 Python 2 中,print
是语句而不是函数,所以不要用括号调用它。使用 ()
调用使其打印元组,元组的默认显示是在元组的项目上使用 repr()
。
Python 2.7.14 (v2.7.14:84471935ed, Sep 16 2017, 20:25:58) [MSC v.1500 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> i=6188
>>> value = u'machine1'
>>> print(i,value) # prints a tuple, which uses `repr()` for items.
(6188, u'machine1')
>>> print i,value # prints values using `str()`, which won't display `u`.
6188 machine1
Python 2 将只打印终端编码支持的 Unicode 字符,因此如果您的 Unicode 代码点超出终端编码默认值,您可能会得到可怕的 UnicodeEncodeError
。切换到 Python 3 以获得更好的 Unicode 处理。 Python 2 已停产。
我有一个脚本可以扫描 excel sheet 并打印 A 列和一系列行,在 python 2 中输出一个列表,但具有预期的 unicode 字符,在参考了几个堆栈溢出帖子后,我似乎无法弄清楚如何摆脱它。
(6188, u'machine1')
(6189, u'machine2')
import openpyxl
wb = openpyxl.load_workbook('AnsibleReadinessReviewIP.xlsx')
sheet = wb['CIsIPaddresses']
sheet['A301']
sheet['A301'].value
A = sheet['A301']
A.value
sheet.cell(row=301, column=A)
# Get the row, column, and vlaue from the cell
'Row %s, Column %s is %s' % (A.row, A.column, A.value)
'Cell %s is %s' % (A.coordinate, A.value)
sheet['A301']
for i in range('301, 6197'):
print(i, sheet.cell(row=i, column=2).value)
如何从列表输出中删除 unicode u'?提前致谢。
更改脚本中的以下行:
选项a:print(i, str(sheet.cell(row=i, column=2).value)) 选项 b:a.print(i, (sheet.cell(row=i, column=2).value).encode('ascii',
如果您看到 u
,则您使用的是 Python 2。在 Python 2 中,print
是语句而不是函数,所以不要用括号调用它。使用 ()
调用使其打印元组,元组的默认显示是在元组的项目上使用 repr()
。
Python 2.7.14 (v2.7.14:84471935ed, Sep 16 2017, 20:25:58) [MSC v.1500 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> i=6188
>>> value = u'machine1'
>>> print(i,value) # prints a tuple, which uses `repr()` for items.
(6188, u'machine1')
>>> print i,value # prints values using `str()`, which won't display `u`.
6188 machine1
Python 2 将只打印终端编码支持的 Unicode 字符,因此如果您的 Unicode 代码点超出终端编码默认值,您可能会得到可怕的 UnicodeEncodeError
。切换到 Python 3 以获得更好的 Unicode 处理。 Python 2 已停产。