2016-12-09 30 views
-1

私はリストにたくさんのtxtファイルを読みました。これはPython:リストにtxtファイルを読み込む

import glob 
path = '/Users/xccxken/Desktop/NNRelease/paperVersion/*.txt' 
files = glob.glob(path) 
for name in files: 
    with open(name) as f: 
     for line in f: 
      split = line.split() 
      if split and all('#' not in i for i in split): 
       r = split 
a = [] 
b = [] 
for line in r: 
    a.append(r[0]) 
    b.append(r[1]) 

私のコードで、出力はこの

['water', 'water'] 
['shortage', 'shortage'] 

のようなもので、私の意図した出力は、このような二つのリストaとbは:

a = [class, company,...,XXXX] 
b = [size, size,..., YYYY] 

次のようにすべてのテキストファイルがあります:

enter image description here

次に、あなたは、おそらく二つのリストを作成し、あなたが一緒に行くようにそれらに項目を追加する必要があり、私はコード

+0

を修正する助けてください。質問ありますか? – jonrsharpe

+1

[*]実際に問題を*示す[mcve]を与えるために質問を編集してください。あなたのためにこれを書いているわけではありません。 – jonrsharpe

+0

あなたのコードは意味をなさない。 2番目のループの最後の行だけを処理しています。 'r [0]'と 'r [1]'にインデックスを付けると、 'r'に2つの項目が含まれていることをはっきりと知っていますが、それでも反復してループ変数' line'を無視すると、それらの2つのアイテムをそれぞれ2回取得すると驚いています。これをより注意深く考えてください。 http://pythontutor.com/を使って手伝ってください。[小さなプログラムをデバッグする方法]のアドバイスに従ってください(https://ericlippert.com/2014/03/05/how-to-debug-small-プログラム/)。 – jonrsharpe

答えて

0
a = [] 
b = [] 
for name in files: 
    with open(name) as f: 
     for line in f: 
      split = line.split() 
      if split and all('#' not in i for i in split): 
       a.append(split[0]) 
       b.append(split[1]) 

print(a) # prints ['class', 'company', 'family', 'sandwich'] 
print(b) # prints ['size', 'size', 'size', 'size'] 
+0

なぜ答えが下降したのですか? –

+0

申し訳ありません私はあなたの答えを投票したことはありませんが、実際に私はあなたに投票しましたが、私は15未満の評判を持っていますので、今はそうする権利がありません。 – kkjoe

+0

私はあなたの仕事に感謝します。どうもありがとうございます。 – kkjoe

関連する問題