3

我正在尝试从使用 xlrd(实际上是 xlsxrd)读取的 excel2007 单元格中解析一些 unicode 文本。
出于某种原因,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'

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

4

2 回答 2

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

于 2011-06-20T15:40:08.730 回答
0

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

于 2011-06-20T21:33:50.617 回答