【问题标题】:Unicode text excel python 2.7Unicode文本excel python 2.7
【发布时间】:2020-05-22 03:12:05
【问题描述】:

我的解析是 russain text excel,我使用 xlrd

#!/usr/bin/env python2
# -*- coding: utf-8 -*-
from __future__ import print_function
import cx_Oracle
import csv
import xlrd
loc = ("parse.xls")
wb = xlrd.open_workbook(loc, encoding_override="cp1251") 
sheet = wb.sheet_by_index(0) 
sheet.cell_value(0, 0) 
print(sheet.row_values(4))

我的俄语文本有问题,我的结果:

[u'\u041a\u0430\u0440-\u0422\u0435\u043b', u'\u0421\u0443\u0449', u'44061AKBAKAY', 1.0, u'']

优秀:

【问题讨论】:

  • 你有什么问题?
  • @Grismar 问题俄语文本

标签: python python-2.7 unicode


【解决方案1】:

Python 2 使用repr() 将列表内容显示为调试表示。使用str() 打印单个项目以在打印表示中查看,但如果终端代码页和字体都不支持西里尔文,这仍然会失败:

>>> items = [u'\u041a\u0430\u0440-\u0422\u0435\u043b ', u'\u0421\u0443\u0449', u'44061AKBAKAY', 1.0, u'']
>>> items
[u'\u041a\u0430\u0440-\u0422\u0435\u043b ', u'\u0421\u0443\u0449', u'44061AKBAKAY', 1.0, u'']
>>> for item in items:
...  print(item)
...
Кар-Тел
Сущ
44061AKBAKAY
1.0

切换到 Python 3,它更擅长显示 Unicode 字符串并且(至少在 Windows 上)不关心终端代码页。字体仍然必须支持西里尔文:

>>> items = [u'\u041a\u0430\u0440-\u0422\u0435\u043b ', u'\u0421\u0443\u0449', u'44061AKBAKAY', 1.0, u'']
>>> items
['Кар-Тел ', 'Сущ', '44061AKBAKAY', 1.0, '']

【讨论】:

    猜你喜欢
    • 2017-06-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-22
    • 2018-09-28
    • 1970-01-01
    • 1970-01-01
    • 2018-03-22
    相关资源
    最近更新 更多