所以,我想知道如何拆分文件的行并将它们放入列表中?我测试了一段代码,它只适用于列表的一部分,而不适用于其他部分:
该文件如下所示:
Rank Ballots
Riding 0
NDP LIBERAL GREEN CPC
NDP GREEN LIBERAL CPC
CPC LIBERAL GREEN NDP
NDP GREEN LIBERAL CPC
Riding 1
NDP LIBERAL GREEN CPC
LIBERAL GREEN NDP CPC
NDP GREEN LIBERAL CPC
LIBERAL GREEN NDP CPC
NDP GREEN LIBERAL CPC以此类推。
这是前半部分的代码,代码为0: line = f.readline()
while line !='':
district = str.split(line)
line = f.readline()
a.append(district)
print(a)这是我为后半段做的代码:
header = f.readline().rstrip()
riding = f.readline().rstrip()
riding = f.readline().rstrip()
votes = []
while riding !='':
rank = str.split(riding)
votes = []
while rank != '':
votes.append(rank)
rank = str.split(riding)
riding = f.readline().rstrip()
print(votes)
riding = f.readline().rstrip()当我打印时,它只是一个空白。我想知道是否有人能帮上忙。输出应该是每次骑行列表的列表。因此,对于骑行0:它将是[行1,行2等]和骑行1:[行1,行2]等。
发布于 2013-04-05 09:57:44
这应该能帮你解决这个问题-
import re
f = open('x.txt')
d = [l.strip() for l in f.readlines() if l.strip()]
groups = {}
curr_key = ''
for line in d:
if re.search('Riding [0-9]+', line):
curr_key = line
groups[curr_key] = []
elif curr_key:
groups[curr_key].append([line])
print groups
>>> {'Riding 1': [['NDP LIBERAL GREEN CPC'], ['LIBERAL GREEN NDP CPC'], ['NDP GREEN LIBERAL CPC'], ['LIBERAL GREEN NDP CPC'], ['NDP GREEN LIBERAL CPC']], 'Riding 0': [['NDP LIBERAL GREEN CPC'], ['NDP GREEN LIBERAL CPC'], ['CPC LIBERAL GREEN NDP'], ['NDP GREEN LIBERAL CPC']]}发布于 2013-04-05 10:00:46
这就是我为你编写的代码。希望它能起作用
FileStream f = new Filestream(path,FileMode.Open);
StreamReader sf = new StreamReader(f);这里
while !sf.EndOfStream:
district = str.split(' ')
line = f.readline()
a.append(district)
print(a)你在str.split(' ')失败了;
发布于 2013-04-05 10:05:43
lines = [L.strip() for L in f if L.strip()][1:]
data = []
group = []
for L in lines:
if L.startswith('Riding'):
if group:
data.append(group)
group = []
continue
group.append(L.split())
print(data)输出:
[[['NDP', 'LIBERAL', 'GREEN', 'CPC'], ['NDP', 'GREEN', 'LIBERAL', 'CPC'], ['CPC', 'LIBERAL', 'GREEN', 'NDP'], ['NDP', 'GREEN', 'LIBERAL', 'CPC']]]https://stackoverflow.com/questions/15824666
复制相似问题