簡體   English   中英

將文本文件轉換為列表列表

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM