TypeError for re.split in Python



我有一个关于在re.split上为Python使用re的问题。首先,记录列表包含100个数据。当我试图检索一个特定的数据,它工作:

content = records[0].get("AB") #I'm getting the article content from pubmed btw
nom = []
nom = re.split(r"Bs(?=[^s:]+:)", content) #trying to split into paragraphs
print nom

但是,如果我尝试使用for in检索完整的数据集,我会得到typeerror,它期望字符串或缓冲区。这是代码:

for record in records:
    content = record.get("AB")
    nom = []
    nom = re.split(r"Bs(?=[^s:]+:)", content)
    print nom

错误:

Traceback(最近一次调用):
文件",第4行,在
文件"/usr/lib64/python2.6/re.py",第167行,split
Return _compile(pattern, 0).split(string, maxsplit)
类型错误:期望的字符串或缓冲区

谁能给我解释一下为什么会这样?我如何纠正它以检索完整的数据集?

所以,你知道records[0]是OK的。

显然,其他99行中有一行导致了阻塞。我猜是最后一个。一个快速而肮脏的解决方案是将get更改为指定字符串默认值,而不是默认的default (!)None:

content = record.get("AB",'') 

最新更新