我试图计算一组文件摘要中有多少句子。下面的第一段代码是打开所有文件夹和文件。第二部分抓取文件ID和摘要来计算句子数。我想要一个结果列表显示每个文件有多少句子(lineCount)。
# open multiple files.
import re, os
topdir = r'E:\Grad\LIS\LIS590 Text mining\Part123\Part1'
matches = []
for root, dirnames, filenames in os.walk(topdir):
for filename in filenames:
if filename.endswith(('.txt','.pdf')):
matches.append(os.path.join(root, filename))
capturedfiles = []
capturedabstracts = []
Abs=open('countsent.csv','w')
for filepath in matches:
with open (filepath,'rt') as mytext:
mytext=mytext.read()
# code to capture file IDs.
grabFile=re.findall(r'File\s+\:\s+(\w\d{7})',mytext)
if len(grabFile) == 0:
matchFile= "N/A"
else:
matchFile = grabFile[0]
capturedfiles.append(matchFile)
#print capturedfiles
# code to capture abstracts
newtext=re.sub(r'\n',' ',mytext)
newtext=re.sub(r'\s+',' ',newtext)
grabAbs=re.findall(r'Abstract\s+\:(\w.+)',newtext)
if len(grabAbs) == 0:
matchAbs= "N/A"
else:
matchAbs = grabAbs[0]
capturedabstracts.append(matchAbs)
lineCount = 0
lines = matchAbs[0].split('. ')
for line in lines:
lineCount +=1
Abs.write(matchFile + '|' + str(lineCount) + '\n')
Abs.close()
输出不对。
a9000006|1
a9000031|1
a9000038|1
a9000040|1
a9000043|1
我需要计算每个摘要中的句子总数。为此我使用了lineCount,但结果是错误的。不知道如何纠正它。以下是我想要的结果示例:a9000006 | 4 a9000031 | 11。 4和11是这些摘要中的句子数量非常感谢。