常にスペースで区切られた5つの数値である文字列を読み取っています。これを、5つの個別の整数に分割して、個別に処理できるようにします。
これまでのところ:
reader = csv.reader([data.data], skipinitialspace=True)
for r in reader:
print r
これにより、値を出力できますが、個々の整数として保存するにはどうすればよいですか?
あなたはこのようにそれを行うことができます。s
からの行を想定していますreader
。
>>> s='2 3 4 5 6'
>>> s.split(' ')
['2', '3', '4', '5', '6'] #just split will give strings
>>> [int(i) for i in s.split(' ')] #typecasting to ints
[2, 3, 4, 5, 6] #now you have ints
ただし、注意点として、からの行には他のデータ型がないと想定していreader
ます。そうしないと、このコードがクラッシュする可能性があります。もちろんtry: except:
、それを回避したり、より微調整された解析手法を使用したりすることもできます。
更新0: @PavelAnnosovからの素晴らしいワンライナー- map(int, s.split())
。mapは、関数を任意の反復可能関数にマップできる、気の利いたpython組み込み関数です。
更新1:これがどのように機能するかを確認するのはかなり簡単です。しかし、@user2152165にそれをさらに明確にするために
ints_list = []
for r in reader:
ints_list = map(int, r.strip().split(' '))
ints_list
あなたのintのリストがあります。あなたがそれでやりたいことをしてください...