2015-08-26 81 views
0

我使用win32com.client讀取Excel文件,我想找到的一切不是在值(S)我在「一些字符串」結尾:Python endswith()反向?

ws.Cells(i, 8).Value 

因爲我不知道endwith()的解決方法,我試圖通過也可以做這項工作的值長度進行搜索,但是我不能在ws.Cells(i,8).Value上調用len(),因爲我得到一個'unicode'錯誤。我也嘗試將值轉換爲字符串,但沒有運氣。

基本上我想這樣做:

if len(ws.Cells(i, 8).Value) > 255: 
    ws.Cells(i, 8).Value = ws.Cells(i, 8).Value + " (Issues Here)" 

我明白任何支持,我可以得到這一點。

+0

「我不能叫上ws.Cells LEN()(I,8).value的,因爲我得到一個 '統一' 的錯誤。」什麼是確切的錯誤? – Kevin

回答

1

只要在if語句中使用not即可。

string_list = ["this ends in some string", "this string does not"] 

for string in string_list: 
    if not string.endswith('some string'): 
     print string, ". GOOD!" 

結果:

this string does not. GOOD! 
+0

謝謝! 如果你想使用它,你還可以幫我使用len()選項嗎? 我真的很好奇如何用unicode的價值來實現。 – Robert

+0

我無法複製您的錯誤。你打電話過得怎麼樣?它應該是'len(ws.Cells(i,8).Value)' –

+0

另外,你是否嘗試使用'.Text'而不是'.Value'? 這可能對你有用。 http://stackoverflow.com/questions/29767898/how-to-read-excel-unicode-characters-using-python –