2011-06-20 24 views
3

我想解析使用xlrd(實際上是xlsxrd)讀取的excel2007單元格中的一些unicode文本。
由於某些原因,xlrd將「text:」附加到unicode字符串的開頭,並且使我難以輸入強制轉換。我最終想要顛倒字符串的順序,因爲它是一個名字,並且將與其他字母順序排列在一起。任何幫助將不勝感激,謝謝。解析從xlrd.Book對象中的單元格讀取的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' 

從這裏,我想分析「名」交換「第一」與「最後一個」或只爲存儲分隔兩在兩個不同的變種中,但我所做的每一次嘗試輸入unicode都會給出錯誤。也許我正在以錯誤的方式去做? 在此先感謝!

回答

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

0

閱讀xlrd文檔中的關於Cell類的介紹。通過你可以通過www.python-excel.org獲得的教程。