これは簡単ですが、私はそれを正しく理解できないようです。
フォームに数字を含むテキストファイルがあります
0 1 2
3 43
5 6 7 8
など。
これらの番号を読んで、各番号がリストの要素になるようにリストに保存したいと思います。ファイル全体を文字列として読み取る場合、これらの要素を分離するために文字列を分割するにはどうすればよいですか?
ありがとう。
これは簡単ですが、私はそれを正しく理解できないようです。
フォームに数字を含むテキストファイルがあります
0 1 2
3 43
5 6 7 8
など。
これらの番号を読んで、各番号がリストの要素になるようにリストに保存したいと思います。ファイル全体を文字列として読み取る場合、これらの要素を分離するために文字列を分割するにはどうすればよいですか?
ありがとう。
行のリストであるかのように、ファイル オブジェクトを反復処理できます。
with open('file.txt', 'r') as handle:
numbers = [map(int, line.split()) for line in handle]
少し単純な例:
with open('file.txt', 'r') as handle:
for line in handle:
print line
まず、ファイルを開きます。次に、ファイル オブジェクトを繰り返し処理して各行を取得し、その行で split() を呼び出して文字列のリストを取得します。次に、リスト内の各文字列を数値に変換します。
f = open("somefile.txt")
nums = []
strs = []
for line in f:
strs = line.split() #get an array of whitespace-separated substrings
for num in strs:
try:
nums.append(int(num)) #convert each substring to a number and append
except ValueError: #the string cannot be parsed to a number
pass
nums には、ファイル内のすべての数値が含まれるようになりました。
文字列を分割してこれらの要素を分離するにはどうすればよいですか