Remove text:u from strings in python

这一生的挚爱 提交于 2019-12-24 19:57:43

问题


I am using xlrd library to import values from excel file to python list. I have a single column in excel file and extracting data row wise. But the problem is the data i am getting in list is as

list = ["text:u'__string__'","text:u'__string__'",.....so on]

How can i remove this text:u from this to get natural list with strings ?

code here using python2.7

book = open_workbook("blabla.xlsx")
sheet = book.sheet_by_index(0)
documents = []

for row in range(1, 50): #start from 1, to leave out row 0
    documents.append(sheet.cell(row, 0)) #extract from first col

data = [str(r) for r in documents]
print data

回答1:


Iterate over items and remove extra characters from each word:

s=[]   
for x in list:
    s.append(x[7:-1]) # Slice from index 7 till lastindex - 1



回答2:


If that's the standard input list you have, you can do it with simple split

[s.split("'")[1] for s in list]

# if your string itself has got "'" in between, using regex is always safe
import re
[re.findall(r"u'(.*)'", s)[0] for s in list]

#Output
#['__string__', '__string__']



回答3:


I had the same problem. Following code helped me.

list = ["text:u'__string__'","text:u'__string__'",.....so on]
for index, item in enumerate(list):
      list[index] = list[index][7:] #Deletes first 7 xharacters
      list[index] = list[index][:-1] #Deletes last character


来源:https://stackoverflow.com/questions/47246158/remove-textu-from-strings-in-python

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!