Разбор строки unicode, прочитанной из ячейки в объекте xlrd.Book - PullRequest
3 голосов
/ 20 июня 2011

Я пытаюсь проанализировать некоторый текст в Unicode из ячейки Excel2007, прочитанной с использованием xlrd (на самом деле xlsxrd).
По какой-то причине xlrd присоединяет «text:» к началу строки Unicode и мешает мне печатать cast. В конце концов я хочу поменять порядок строк, так как это имя и оно будет размещено в алфавитном порядке вместе с несколькими другими. Любая помощь будет принята с благодарностью, спасибо.

Вот простой пример того, что я пытаюсь сделать:

>>> import xlrd, xlsxrd
>>> book = xlsxrd.open_workbook('C:\\fileDir\\fileName.xlsx')
>>> book.sheet_names()
[u'Sheet1', u'Sheet2']
>>> sh = book.sheet_by_index(1)
>>> print sh
<xlrd.sheet.Sheet object at 0x(hexaddress)>
>>> name = sh.cell(0, 0)
>>> print name
text: u'First Last'

отсюда я хотел бы проанализировать «name», меняя «First» на «Last» или просто разделяя их для хранения в двух разных переменных, но каждая попытка набрать unicode приводит к ошибке. возможно я иду об этом неправильно? Заранее спасибо!

Ответы [ 2 ]

4 голосов
/ 20 июня 2011

Я думаю, вам может понадобиться

name = sh.cell(0,0).value

чтобы получить объект Unicode. Затем, чтобы разделить на две переменные, вы можете получить список с именем и фамилией, используя пробел в качестве разделителя:

split_name = name.split(' ')
print split_name

Это дает [u'First', u'Last']. Вы можете легко перевернуть список:

split_name = split_name.reverse()
print split_name

дает [u'Last', u'First'].

0 голосов
/ 21 июня 2011

Прочтите aboput класс Cell в документации xlrd.Проработайте учебник, который вы можете получить через www.python-excel.org.

...