在Python中列出文本文件中每行的第一个单词

时间:2016-02-26 06:49:50

标签: python file text line word

我需要在每一行上选择第一个单词,并从文本文件中创建一个列表:

I would copy the text but it's the formatting is quite screwed up. will try 所有其他文字都是不必要的。

我试过了

string=[]
for line in f:
   String.append(line.split(None, 1)[0]) # add only first word

从另一个解决方案,但它继续返回"索引超出界限"错误。

我可以使用string=text.partition(' ')[0]从第一行获取第一个单词 但我不知道如何重复其他内容。

我仍然是python和网站的新手,我希望我的格式是可以忍受的! (打开时,我将文本编码为接受符号,如此 wikitxt=open('racinesPrefixesSuffixes.txt', 'r', encoding='utf-8') 这可能是问题吗?)

1 个答案:

答案 0 :(得分:4)

它引发IndexError的原因是因为特定行为空。 你可以这样做:

words = []
for line in f:
    if line.strip():
        words.append(line.split(maxsplit=1)[0])

此处line.strip()正在检查该行是否仅包含空格。如果它只包含空格,则只会跳过该行。

或者,如果您喜欢list comprehension

words = [line.split(maxsplit=1)[0] for line in f if line.strip()]