2016-06-16 8 views
0

に変換するだけで、最終的には空白、カンマ、または改行で区切られた数字だけを持つファイルを読み込もうとしています。私はこれらのポストと固定された何かをたくさん読んだ。彼らは最初に文字列としてインポートされることを学びました。しかし、私は問題に遭遇しています。今私はリストのリストを持っています。これは、intでチェックしたり、数値を追加したりすることができない場合を除いて、うまくいくでしょう。アイデアは、各ユーザに番号を割り当てて保存させることです。私はちょうど今数値をインポートし、個々の番号としてそれらを使用することができて心配しています。数字のファイルをリスト

私のこれまでのコード:

fo1 = open('mach_uID_3.txt', 'a+') 

t1 = fo1.read() 
t2 = [] 

print t1 

for x in t1.split(): 
    print x 
    z = [int(n) for n in x.split()] 
    t2.append(z) 


print t2 
print t2[3] 

fo1.close() 

とその読みがあるファイル。

0 1 2 25 
34 
23 

私の結果はかなり醜いですが、ここに行きます。

0 1 2 25 
34 
23 

0 
1 
2 
25 
34 
23 
[[0], [1], [2], [25], [34], [23]] 
[25] 

Process finished with exit code 0 
+0

だから、あなたはそれが代わりに何をすべきかをしたいですか?新しいリスト 'z = [x.split()]にnのためのint [n] 'を生成してからあなたの結果' t2.append(z) 'に追加するのでリストのリストを作成します - 何か他のことを期待していた? –

+0

あなたは私の友人が私の問題を指摘しました。ありがとうございます。どのように私はそれを探し続けるかわからない – Jahi

答えて

0

使用extend

t2.extend(int(n) for n in x.split()) 
0

単一のすべての数字を持って、リストを平坦化し、このか:

fo1 = open('mach_uID_3.txt', 'a+') 

number_list = list(map(int, fo1.read().split()) 

fo1.close() 

しかし、それは、このようなファイルを開くには良いでしょう:

with open('mach_uID_3.txt', 'a+') as fo1: 
    number_list = list(map(int, fo1.read().split()) 

ので、あなたは「ドン明示的にそれを閉じる必要があります。代わりにappend

関連する問題