2017-05-10 17 views
2

テキストファイルから名前(文字)を抽出して配列に入れる方法を知りたいです。テキストファイルは「ブックリスト」です。それは本の名前と参照番号を含んでおり、本の名前を配列に抽出したいと思います。私は参照番号を行う方法を知っていますが、本の名前は知りません。もし誰かが私を助けることができれば、私はそれを感謝します。文字を含む行をテキストファイルから配列に抽出する方法は?

ここではテキストファイルです:

number_list = [] 
#Put reference number into arrays 
with open("Booklist.txt","r") as fp: 
    line_list = fp.readlines() 
    for line in line_list: 
     line = line.rstrip() 
     try: 
      number_list.append(int(line)) 
     except: 
      pass 
print(number_list) 

が出力: https://www.dropbox.com/s/ayinnc83poulhv7/Booklist.txt?dl=0

The Adventures of Tom Sawyer 
2 
Huckleberry Finn 
4 
The Sword in the Stone 
6 
Stuart Little 
10 
Treasure Island 
12 
The Secret Garden 
14 
Alice's Adventures in Wonderland 
20 
Twenty Thousand Leagues Under the Sea 
24 
Peter Pan 
26 
Charlotte's Web 
31 
A Little Princess 
32 
Little Women 
33 
Black Beauty 
35 
The Merry Adventures of Robin Hood 
40 
Robinson Crusoe 
46 
Anne of Green Gables 
50 
Little House in the Big Woods 
52 
Swiss Family Robinson 
54 
The Lion, the Witch and the Wardrobe 
56 
Heidi 
66 
A Winkle in Time 
100 
Mary Poppins 

は、これは私の現在のコードである

[2, 4, 6, 10, 12, 14, 20, 24, 26, 31, 32, 33, 35, 40, 46, 50, 52, 54, 56, 66, 100] 

しかし、私はまた、それはの名前を入れたいです本も配列に入れる。上記の第1のアレイとは別に、

+0

私は、私が求めているものを見て理解することをより簡単にしました。返信いただきありがとうございます。 – IDonatedOrgansToPython

+0

フィードバックにお返事ありがとうございます。あなたの現在のアプローチに対する非常に単純な変更は、 'except'を使って書籍名を含む別のリストに追加することです。しかし、それは "21"と呼ばれる本は存在しません。投稿された回答はあなたのために働きますか? – roganjosh

答えて

0

あなたは、単に次のようにブロックを除いて使用することができます。

with open("Booklist.txt","r") as fp: 
     line_list = fp.readlines() 
     number_list = [] 
     name_list = [] 
     for line in line_list: 
      line = line.rstrip() 
      try: 
       number_list.append(int(line)) 
      except: 
       name_list.append(line) 
     print number_list 
     print name_list 
+0

うわー!できます。私はそれが単純だとは決して考えなかったでしょう。私は思考以上のものだったと思う。ありがとう、私の男。 – IDonatedOrgansToPython

+0

ええ、それはほとんどの時間=)あなたは私の答えを受け入れることができますか? :-) –

0

あなたが与えられた行が数字であるかどうかをチェックするためにisdigit()メソッドを使用することができます。

関連する問題