user5856294
user5856294

Reputation:

Copy complete sentences from text file and add to list

I am trying to extract complete sentences from a long text file and adding them as strings to a list in Python 2.7. I want to automate this and not just cut and paste in the list.

Here is what I have:

from sys import argv

script, filename = argv # script = alien.py; filename = roswell.txt

listed = []

text = open(filename, 'rw')

for i in text:
    lines = readline(i)
    listed.append(lines)

print listed
text.close()

Nothing loads to the list.

Upvotes: 1

Views: 1114

Answers (2)

lulyon
lulyon

Reputation: 7225

Normally sentences are separated by '. ', not '\n'. Under this condition, use split with period+space(without return-enter):

listed = []

fd = open(filename,"r") 
try:
    data = fd.read()
    sentences = data.split(". ")
    for sentence in sentences:
        listed.append(sentence)

    print listed
finally:
    fd.close()

Upvotes: 0

Elie khalifeh
Elie khalifeh

Reputation: 118

You can do it with a while loop:

listed = []
with open(filename,"r") as text:
    Line = text.readline()


    while Line!='':
        listed.append(Line)
        Line = text.readline()

print listed

In the previous example, I assumed that each sentence is written on a different line, if that's not the case, use this code instead:

listed = []


with open(filename,"r") as text:
    Line = text.readline()


    while Line!='':
        Line1 = Line.split(".")
        for Sentence in Line1:
            listed.append(Sentence)
        Line = text.readline()

print listed

And on a side note, try using with open(...) as text: instead of text = open(...)

Upvotes: 2

Related Questions