ファイル内のキー(辞書)を対応する値に置き換えるときに問題が発生しました。詳細:キーを値に置き換えて新しいファイルに書き込むPython
{'EVENT23595': ['36.9828 -34.0538 138.1554'], 'EVENT2594': ['41.2669 -33.0179 139.2269'], 'EVENT2595': ['4.7500 -32.7926 138.1523'], 'EVENT41025': ['16.2453 -32.9552 138.2604'], 'EVENT2646': ['5.5949 -32.4923 138.1866'], 'EVENT2649': ['7.9533 -31.8304 138.6966']}
私はで終わるしたいのですがどのような、新しいファイルです:
EVENT2593
EVENT2594
EVENT2595
EVENT41025
EVENT2646
EVENT2649
はまた、reloc_event_coords_dic()
によって作成された私の辞書は、次のようになります。入力ファイルは次のようになりますevent_from_picks
と呼ばれますキーの代わりに値を使用します。この場合、receiver.inと呼ばれる新しいファイルは次のようになりますどの:
36.9828 -34.0538 138.1554
41.2669 -33.0179 139.2269
4.7500 -32.7926 138.1523
16.2453 -32.9552 138.2604
5.5949 -32.4923 138.1866
7.9533 -31.8304 138.6966
私の間違った機能(私はループに問題を持っている必要がありますが、私は何を把握することはできません知っている)今のところは以下のとおりです。
def converted_lines():
file_out = open ('receiver.in', 'w')
converted_lines = []
event_dict = reloc_event_coords_dic()
data_line = event_dict.items() # Takes data as('EVENT31933', ['10.1230 -32.8294 138.1718'])
for element in data_line:
for item in element:
event_number = element[0] # Gets event number
coord_line = event_dict.get (event_number, None)
with open ('event_from_picks', 'r') as file_in:
for line in file_in:
if line.startswith(" "):
continue
if event_number:
converted_lines.append ("%s" % coord_line)
file_out.writelines(converted_lines)
読んでいただきありがとうございます!
これはどのように役立ちますか? – eikonal
ああ、申し訳ありませんが、どうやってあなたの質問を間違って読むことができたのか分かりません。私の答えを修正しました。 – Kimvais