テキストファイルの中にある文字列が数十行あってその中から数字と,(区切り)を取り出した時
変数にその数字を代入するにはどうしたらいいでしょうか?
一応自分で書いたのが下記になります
python
1import csv 2import re 3 4name="キャンセル" 5a=0 6x=[] 7y=[] 8with open("st.txt", encoding="utf_8_sig") as file: 9 reader=file.readlines() 10 for row in reader: 11 if name in row: 12 print(row.strip()) 13 res=re.findall(",|\d",row) 14 for n in res: 15 try: 16 if a==0: 17 x.append(int(n)) 18 else: 19 y.append(int(n)) 20 except: 21 a=1 22 continue 23 break 24 else: 25 continue
読み込んだテキストファイルは下記の様な内容です
火/下ボタン:999,683
火/st:831,451
火/レイドok:737,465
火/フレ選択:770,212
火/クエストへ行く:731,671
火/救援キャンセル:538,593
火/攻撃ボタン押す2:1082,106
火/バトル終了okボタン:636,618
火/レイドへ戻る:549,677
このファイルを読んで上のプログラムを実行した時
x=[5, 3, 8]
y=[5, 9, 3]
という値を得られるのですが
これを普通にx=538,y=593の様なただの数字として変数に代入したいのですが
やり方が思いつかないので教えて頂けないでしょうか
それと↑のプログラムですが自分で書いていて綺麗じゃないというか凄く回りくどいという感じがしたんですが皆さんは上のプログラムを見られてどう思われたでしょうか?
もっとスマートなコードがあればアドバイスをお願いします
回答3件
あなたの回答
tips
プレビュー