我正在尝试从使用 xlrd(实际上是 xlsxrd)读取的 excel2007 单元格中解析一些 unicode 文本。
出于某种原因,xlrd 将“文本:”附加到 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'
从这里我想解析“名称”,将“First”与“Last”交换,或者只是将两者分开以存储在两个不同的变量中,但我对 unicode 进行类型转换的每次尝试都会出错。也许我会以错误的方式去做? 提前致谢!
最佳答案
我想你可能需要
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']
。
关于python - 解析从 xlrd.Book 对象中的单元格读取的 unicode 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6413772/