这是我拥有的数据
'E10641',
'Type 1 diabetes mellitus with ',
'hypoglycemia with coma',
'E1110',
'Type 2 diabetes mellitus with ketoacidosis ',
'without coma',
'E1100',
'Type 2 diabetes mellitus with ',
'hyperosmolarity withoutnonketotic ',
'hyperglycemic-hyperosmolar coma ',
'(NKHHC)',
'E1111',
'Type 2 diabetes mellitus with ketoacidosis ',
'with coma',
'Diabetes short-term complications diagnosis codes: (ACDIASD)',
'June 2018',
'3 of 3',
我试图编写一个正则表达式代码以提取以“ E”开头并后跟数字(例如E10641)的代码。
This is my program:
import re
content = str(content)
for line in content:
if len (line>0):
x = re.search("E[0-9]+", content)
print (x)
但是它具有以下错误:
TypeError: '>' not supported between instances of 'str' and 'int'
我通过按照问题答案中的建议编辑len (line)>0
部分来解决此问题。这是代码的更新版本:
import re
ICD = []
#content = str(content)
for line in content:
if len (line) >0 :
x = re.search("E[0-9]+", content)
ICD = ICD.append(x)
print (x)
我需要提取所有代码并将它们放在列表中。但是现在我出现了以下错误:
'NoneType' object has no attribute 'append'
能帮我吗?
答案 0 :(得分:0)
不确定您要做什么,但是问题出在这一行
if len (line>0):
您正在检查字符串是否大于int,并询问该答案的长度是多少。
我猜您想输入if len(line)>0:
,而无需检查它是否大于0,您可以使用if line:
空字符串为False而非空字符串为True
>>> a="sss"
>>> b=""
>>> bool(a)
True
>>> bool(b)
False