Select 行仅包含字母字符
Select rows with alphabet characters only
我的数据格式如下:
data = [['@datumbox', '#machinelearning'],
['@datumbox', '#textanalysis'],
['@things_internet', '#iot'],
['@things_internet', '#h...'],
['@custmrcom', '#analytics123'],
['@custmrcom', '#strategy...123'],
['@custmrcom', '#1knowledgetweet'],
['@tamaradull', '#@bigbrother']]
我想检查主题标签是否包含任何非字母表。如果是这样,相应的行将被删除。
期望的输出是:
data = [['@datumbox', '#machinelearning'],
['@datumbox', '#textanalysis'],
['@things_internet', '#iot']]
我想我需要使用 re.sub(例如,re.compile('[^a-zA-Z]'))。这是我目前所拥有的:
newdata = []
for item in data:
regex = re.compile('[^a-zA-Z]')
if regex.match(item[1]):
newdata.append([item[0], item[1]])
有什么建议吗?
简单回答:
for item in data:
if re.match("^#[A-Za-z]+$", item[1]):
newdata.append(item)
使用带条件的列表理解:
newdata = [x for x in data if x[1][1:].isalpha()]
print newdata
给出输出
[['@datumbox', '#machinelearning'], ['@datumbox', '#textanalysis'], ['@things_internet', '#iot']]
我的数据格式如下:
data = [['@datumbox', '#machinelearning'],
['@datumbox', '#textanalysis'],
['@things_internet', '#iot'],
['@things_internet', '#h...'],
['@custmrcom', '#analytics123'],
['@custmrcom', '#strategy...123'],
['@custmrcom', '#1knowledgetweet'],
['@tamaradull', '#@bigbrother']]
我想检查主题标签是否包含任何非字母表。如果是这样,相应的行将被删除。
期望的输出是:
data = [['@datumbox', '#machinelearning'],
['@datumbox', '#textanalysis'],
['@things_internet', '#iot']]
我想我需要使用 re.sub(例如,re.compile('[^a-zA-Z]'))。这是我目前所拥有的:
newdata = []
for item in data:
regex = re.compile('[^a-zA-Z]')
if regex.match(item[1]):
newdata.append([item[0], item[1]])
有什么建议吗?
简单回答:
for item in data:
if re.match("^#[A-Za-z]+$", item[1]):
newdata.append(item)
使用带条件的列表理解:
newdata = [x for x in data if x[1][1:].isalpha()]
print newdata
给出输出
[['@datumbox', '#machinelearning'], ['@datumbox', '#textanalysis'], ['@things_internet', '#iot']]