2014-02-24 43 views
0

有文字的無數條線,我想放到一個列表:蟒蛇如何將文本拆分爲新的列表

123456  123456  123456  234567  234567  4567890 
243564  194563  432423  764575  542354  6564536 

我覺得你的想法。空格分隔的值,每個值應該是它自己的值。每行73個值和144行。我知道如何根據列進行分割:

d = list(zip(*(e.split() for e in b))) 

我是如何根據行進行分割的。我想d[0] = '123456,123456,123456,234567,234567,4567890'

d[0] = '123456,243564'

上面一行拆分名單了,我不希望它分裂的方式。

EXTRA:讓我補充一點

在列表中的數據是十進制數。當我將列表中的數字分開時,有沒有辦法解決這個問題?

f = np.round(float([e.split() for e in d]),2) 

即只給我的錯誤「浮動()參數必須是字符串或數字」

+0

感謝您對我的編輯。 – confused

回答

1

卸下zip();列表理解是這裏就夠了:

d = [e.split() for e in b] 

如果需要整數,你可以使用:

d = [[int(v) for v in e.split()] for e in b] 
+0

感謝作品的魅力。 – confused

0

如果您對逗號是堅持:

with open('data.txt', 'r') as f: 
    d = [",".join(var.rstrip().split()) for var in f.readlines()] 
    print(d[0]) 
    print(d[1]) 

輸出:

123456,123456,123456,234567,234567,4567890 
243564,194563,432423,764575,542354,6564536