2017-01-18 26 views
0

としてpythonで解析私は現在、これは私が私のPythonプログラムは、txn_typeを印刷持つようにしようとしているout.txtにある以下のデータ読むテキストファイルや辞書

ImmutableOrderedMultiDict([('txn_type', u'subscr_signu'), ('subscr_id', u'123123'), ('last_name', u'nar'), ('residence_country', u'US'), ('mc_currency', u'USD'), ('item_name', u'Upgrade'), ('business', u'[email protected]'), ('amount3', u'5.00'), ('recurring', u'1'), ('verify_sign', u'asdfasdddd'), ('payer_status', u'verified'), ('test_ipn', u'1'), ('payer_email', u'[email protected]'), ('first_name', u'John'), ('receiver_email', u'[email protected]'), ('payer_id', u'1N1nn'), ('reattempt', u'1'), ('charset', u'windows-1252'), ('notify_version', u'3.8'), ('period3', u'1 M'), ('mc_amount3', u'5.00'), ('ipn_track_id', u'123111111111')]) 

とラインのフルテキストファイルを持っていますただし、@ juanpa.arrivillagaのコメントに掲示したよう TypeError: string indices must be integers, not str

from werkzeug.datastructures import ImmutableOrderedMultiDict 
lines = [] 

with open("out.txt") as f: 
    for line in f: 
     try: 
      lines.append(line) 
     except: 
      pass 

for i in lines: 
    print(i['txn_type']) 
    break 
+1

あなたのテキストは単なるテキストです。それを読み込むと、文字列で表されるデータ構造ではなく、 'str'が返されます。また、行に追加するための 'try ... except'はなぜですか?とにかく、そのすべてが 'lines = f.readlines()'に置き換えられる可能性があります。 –

+0

@ juanpa.arrivillagaだから、文字列ではなく文字列に変換することはありますか? – nadermx

+0

あなたは間違ったところで問題を解決しています。なぜそれが最初から始まるようにシリアライズされていますか? – jonrsharpe

答えて

0

を得続けるevalはトリックをした提案

関連する問題