Объедините предложения из разобранного pdf - PullRequest
0 голосов
/ 14 мая 2018

У меня есть некоторый текст, извлеченный из PDF-файлов, и я проанализировал текст, и в настоящее время у меня все есть в виде строк в списке.Я хотел бы объединить предложения, которые были возвращены в виде отдельных строк из-за разрывов на странице PDF.Например,

list = ['I am a ', 'sentence.', 'Please join me toge-', 'ther. Thanks for your help.'] 

Я хотел бы иметь:

list = ['I am a sentence.', 'Please join me together. Thanks for your help.'] 

В настоящее время у меня есть следующий код, который объединяет некоторые предложения, но второе под-предложение, которое присоединяется к первому, все еще возвращается,Я знаю, что это связано с индексацией, но я не уверен, как решить проблему.

new = []

def cleanlist(dictlist):
    for i in range(len(dictlist)):

    if i>0:

        if dictlist[i-1][-1:] != ('.') or dictlist[i-1][-1:] != ('. '):
            new.append(dictlist[i-1]+dictlist[i])

        elif dictlist[i-1][-1:] == '-':
            new.append(dictlist[i-1]+dictlist[i])

        else:
            new.append[dict_list[i]] 

1 Ответ

0 голосов
/ 14 мая 2018

Вы можете использовать генераторный подход:

def cleanlist(dictlist):
    current = []
    for line in dictlist:
        if line.endswith("-"):
            current.append(line[:-1])
        elif line.endswith(" "):
            current.append(line)
        else:
            current.append(line)
            yield "".join(current)
            current = []

Используйте это так:

dictlist = ['I am a ', 'sentence.', 'Please join me toge-', 'ther. Thanks for your help.']
print(list(cleanlist(dictlist)))
# ['I am a sentence.', 'Please join me together. Thanks for your help.']
...