我正在尝试使用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都会产生错误。也许我会以错误的方式去做? 提前谢谢!
答案 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获得的教程。