我需要在每一行上选择第一个单词,并从文本文件中创建一个列表:
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')
这可能是问题吗?)
答案 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()]