[英]Converting a text file into a list of lists
我想轉換以下格式的文本文件:
0,0,0,0,0,0,0,
0,1,0,0,0,0,0,
0,2,0,0,0,0,0,
0,2,0,1,0,0,0,
2,1,0,2,1,0,0,
1,1,0,1,2,1,0,
進入列表列表。 然而,我能得到的只有:
`[['0,0,0,0,0,0,0,'],
['0,1,0,0,0,0,0,'],
['0,2,0,0,0,0,0,'],
['0,2,0,1,0,0,0,'],
['2,1,0,2,1,0,0,'],
['1,1,0,1,2,1,0,']]`
但我不想要列表周圍的引號。 有什么幫助嗎?
我的代碼是:
while z!=0:
y.append([f.readline().rstrip('\n')])
z-=1
嘗試這個:
y.append([int(n) for n in f.readline().rstrip('\n').split(',')[:-1]])
在 while 循環中試試這個:
y.append([int(i) for i in f.readline().rstrip('\n').split(',') if i])
您需要讀取每一行,以逗號分隔,並將每個值解析為int
values = []
with open("data.txt") as fic:
for line in fic:
line = line.rstrip(",\r\n")
row = list(map(int, line.split(",")))
values.append(row)
# same as
with open("data.txt") as fic:
values = [list(map(int, line.rstrip(",\r\n").split(","))) for line in fic]
給你
[[0, 0, 0, 0, 0, 0, 0],
[0, 1, 0, 0, 0, 0, 0],
[0, 2, 0, 0, 0, 0, 0],
[0, 2, 0, 1, 0, 0, 0],
[2, 1, 0, 2, 1, 0, 0],
[1, 1, 0, 1, 2, 1, 0]]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.