次のような数字で構成された表を含むテキスト ファイルがあります。
5 10 6
6 20 1
7 30 4
8 40 3
9 23 1
4 13 6
たとえば、2 番目の列にのみ含まれる数字が必要な場合、その列をリストに抽出するにはどうすればよいでしょうか?
ベストアンサー1
f=open(file,"r")
lines=f.readlines()
result=[]
for x in lines:
result.append(x.split(' ')[1])
f.close()
リスト内包表記を使って同じことを行うことができます
print([x.split(' ')[1] for x in open(file).readlines()])
ドキュメントsplit()
string.split(s[, sep[, maxsplit]])
文字列の単語のリストを返します
s
。オプションの 2 番目の引数 sep が存在しないか None の場合、単語は任意の空白文字の文字列 (スペース、タブ、改行、リターン、フォームフィード) で区切られます。2 番目の引数 sep が存在し、None でない場合は、単語の区切りとして使用する文字列を指定します。返されるリストには、文字列内の区切りの重複しない出現回数よりも 1 つ多い項目が含まれます。
したがって、私が使用したスペースを省略して、次のように実行できますx.split()
が、これによりタブと改行も削除されるので注意してください。