質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

解決済

1回答

304閲覧

ファイルの読み込みについて

cand

総合スコア65

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2018/07/26 04:49

ファイルの読み込みをするときに、一行ずつリストにして読み込む良い方法はないでしょうか。
<やってみたこと>

Python

1f = open("win.txt", 'r') 2lists = f.readlines() 3list = [] 4for line in lists: 5 for a in range(0, 8): 6 list.append(int(line[a])) 7 print(list) 8 print("\n") 9f.close() 10

<結果>
Traceback (most recent call last):
File "C:/Users/keigo/PycharmProjects/ox/1.1.py", line 6, in <module>
list.append(int(line[a]))
ValueError: invalid literal for int() with base 10: '\n'

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hayataka2049

2018/07/26 04:52 編集

win.txtを掲載してください(行数が大きかったり、公開することに問題があるデータならフォーマットが分かる程度に一部例示してくれればいいです)
guest

回答1

0

ベストアンサー

Python

1with open("win.txt", 'r') as f: 2 # lines = list(f.readlines()) 3 lines = f.read().split("\n")

一行に2つ以上の数字があることを念頭に、各数字をintにキャストする方法は次の通りです。intにキャストできない文字が含まれているとエラーになります。

愚直に二重ループを書く場合。

Python

1with open("tmp.txt") as f: 2 lines = f.read().split("\n") # 改行コードごとに分割 3 4numbers = [] 5for line in lines: # 一行ごとに処理する 6 tmp =[] 7 for n in line: # 一行に含まれる文字1つずつに対して処理する 8 tmp.append( int(n) ) 9 numbers.append( tmp )

難しく書くと次のように1行になります。

Python

1with open("tmp.txt") as f: 2 lines = f.read().split("\n") 3numbers = [list(map(int, list(line))) for line in lines] # 二重ループと同じ結果

投稿2018/07/26 04:54

編集2018/07/26 05:12
tachikoma

総合スコア3601

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tachikoma

2018/07/26 04:55

あれ、一文字ずつintにキャストしたいのか。
cand

2018/07/26 05:03 編集

ありがとうございました そうです
tachikoma

2018/07/26 05:03

一行に数字は1つですか?
cand

2018/07/26 05:12

5個です
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問