解析从xlrd.Book对象中的单元格读取的unicode字符串

时间:2011-06-20 15:36:02

标签: python parsing unicode xlrd

我正在尝试使用xlrd(实际上是xlsxrd)从excel2007单元格中解析一些unicode文本。
由于某种原因,xlrd将“text:”附加到unicode字符串的开头,并且使我难以输入强制转换。我最终想要反转字符串的顺序,因为它是一个名称,并将按字母顺序排列。非常感谢任何帮助,谢谢。

这是我正在尝试做的一个简单示例:

>>> 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'

从这里我想解析“名称”与'Last'交换'First'或者只是将两者分开存储在两个不同的vars中,但是我每次尝试输入unicode都会产生错误。也许我会以错误的方式去做? 提前谢谢!

2 个答案:

答案 0 :(得分:4)

我想你可能需要

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']

答案 1 :(得分:0)

阅读xlrd文档中的Cell类。完成可以通过www.python-excel.org获得的教程。