删除python中的括号及其内容

删除python中的括号及其内容,python,pandas,data-cleaning,preprocessor,Python,Pandas,Data Cleaning,Preprocessor,我使用lstm方法实现了一个情绪分析分类。我已经训练了我的模型并保存了它。我已经加载了列车模型,我正在做分类部分,在那里我将它保存在一个数据帧中。我需要删除括号及其内容,我将在下面向您展示 这是我的密码: hotelname = [] sentimentanalysis = [] for item in selection1: name = item['name'] hotelname.append(name) print (name) 结果如下: Mystik L

我使用lstm方法实现了一个情绪分析分类。我已经训练了我的模型并保存了它。我已经加载了列车模型,我正在做分类部分,在那里我将它保存在一个数据帧中。我需要删除括号及其内容,我将在下面向您展示

这是我的密码:

 hotelname = []
sentimentanalysis = []

for item in selection1:
    name = item['name']
    hotelname.append(name)
    print (name)
结果如下:

Mystik Lifestyle (Save 34%)
Chalets Chamarel (Adults Only)
Andrea Lodge (Save 18%)
Hibiscus Beach Resort & Spa (Save 18%)
Lagoon Attitude (Adults Only)
Ocean V Hotel (Adults Only)
但我希望我的输出是这样的::

Mystik Lifestyle 
Chalets Chamarel 
Andrea Lodge 
Hibiscus Beach Resort & Spa 
Lagoon Attitude 
Ocean V Hotel 

有人能告诉我我需要在代码中添加什么吗伙计们。

你们可以使用
re
模块实现以下目的:

import re
def clean(n):
    return re.sub(r'\s\(.*\)','',n)
然后:

而不是

name = item['name']
请注意,我使用所谓的原始字符串作为re.sub的第一个参数,并删除括号及其内容之前的空白(
\s
)。请注意,
需要转义,因为它们在模式中具有特殊意义(因此导致反斜杠)


编辑:

li = ['Mystik Lifestyle (Save 34%)',
'Chalets Chamarel (Adults Only)',
'Andrea Lodge (Save 18%)',
'Hibiscus Beach Resort & Spa (Save 18%)',
'Lagoon Attitude (Adults Only)',
'Ocean V Hotel (Adults Only)']

for i in li:
    cleaned_text = remove_bracket(i)
    print(cleaned_text)
Mystik Lifestyle
Chalets Chamarel
Andrea Lodge
Hibiscus Beach Resort & Spa
Lagoon Attitude
Ocean V Hotel
输出:

li = ['Mystik Lifestyle (Save 34%)',
'Chalets Chamarel (Adults Only)',
'Andrea Lodge (Save 18%)',
'Hibiscus Beach Resort & Spa (Save 18%)',
'Lagoon Attitude (Adults Only)',
'Ocean V Hotel (Adults Only)']

for i in li:
    cleaned_text = remove_bracket(i)
    print(cleaned_text)
Mystik Lifestyle
Chalets Chamarel
Andrea Lodge
Hibiscus Beach Resort & Spa
Lagoon Attitude
Ocean V Hotel

您可以使用名为.split()的简单字符串方法
请看下面的代码:

elements = ['Mystik Lifestyle (Save 34%)',
'Chalets Chamarel (Adults Only)',
'Andrea Lodge (Save 18%)',
'Hibiscus Beach Resort & Spa (Save 18%)',
'Lagoon Attitude (Adults Only)',
'Ocean V Hotel (Adults Only)']

for element in elements:
    without_text_after_unwanted_character = element.split('(')[0] 
    # This will get everything before the '(' as we splitted
    print(without_text_after_unwanted_character)

# If you want to create a new list the new values, you can do:
clean_list = [x.split('(')[0] for x in elements]

for clean_text in clean_list:
    print(clean_text)

您可以尝试以下代码:

hotelname = []
sentimentanalysis = []

for item in selection1:
    name = item['name'].split('(')[0].strip()
    hotelname.append(name)
    print (name)

一种方法是用“(”分开,然后取第一个元素(如果有的话),我不明白,女士。你能解释一下吗?还是一样的先生还是一样的Madamp打印你的酒店名称,直到同一个Madamp请与我们分享屏幕快照。
hotelname = []
sentimentanalysis = []

for item in selection1:
    name = item['name'].split('(')[0].strip()
    hotelname.append(name)
    print (name)