计算文本中的行数

时间:2014-05-24 21:38:51

标签: python-2.7 count

我试图计算一组文件摘要中有多少句子。下面的第一段代码是打开所有文件夹和文件。第二部分抓取文件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是这些摘要中的句子数量非常感谢。

0 个答案:

没有答案