我无法弄清楚如何实现一个文本文件,其中的行包含单词行和数字行。我想要尝试做的是读取单词下面的行,然后将这些单词保存到列表变量中。
编码新手,请耐心等待。
示例文本文件:
Hello World
4, 3, 2
3, 4, 2
2, 3, 4
Change the World
5, 3, 9
3, 9, 5
Save the World
1, 2, 3
我的伪代码:
Open File
Read the First Line
If the current-line[0] is Letter then:
parse the current Line
save the parsed to a Word list
Go to the next line
If the current-line[0] is a Number then:
parse the current Line
save the parsed line in a list
read the next line
If the next line has another number then:
parse line
save it to the previous parsed-line list
#Keep Checking if the next line begins with a number
#if it doesn't and the next line begins with a letter go back up to the previous statement
我的问题: 如何告诉python检查下一行而不离开当前行,然后检查下一行应该去哪个“if”语句?
示例代码:简化
def parse():
return parse
txtopen = open("txt","r")
line = txtopen.readline()
while line:
if line[0] is not between 0 or 9::
parse = parse(line)
wordlist.append(parse)
if line[0] in between 0 and 9:
parse = parse(line)
list = list.extend(parse)
'''
This is where i cant figure out how to read the next line and check
'''
finallist = list.append(list)
line = txtopen.readline()
输出:
wordList : ["Hello Word", "Change the World", "Save the World"]
numberList : [[4,3,2,3,4,2,2,3,4],[5,3,9,3,9,5],[1,2,3]]
使用我的伪代码在我的逻辑中提供的任何帮助都会非常棒,或者一般来说可以提供很多帮助。
答案 0 :(得分:1)
要阅读下一行,您可以执行以下操作。
with open("file.txt", 'r') as f:
lines = f.readlines()
current_line_index = 0
next_line = lines[current_line_index + 1]
print next_line
这是我如何解决这个特殊问题。
import csv
word_list = []
number_list = []
with open("file.txt", 'r') as f:
reader = csv.reader(f)
for line in reader:
if line[0].strip().isdigit():
number_list.append(line)
else:
word_list.append(line)
print number_list
print word_list