2017-03-08 7 views
0

具体的には、テキストファイルからいくつかの列を取得し、各列を個別に指定せずに配列に入力する方法を尋ねています。Pythonで列の範囲を指定する

1 2 1 4.151E-12 4.553E-12 4.600E-12 4.852E-12 6.173E-12 7.756E-12 9.383E-12 1.096E-11 1.243E-11 1.379E-11 1.504E-11 1.619E-11 1.724E-11 2.139E-11 2.426E-11 2.791E-11 3.009E-11 3.152E-11 3.252E-11 3.326E-11 3.382E-11 3.426E-11 3.462E-11 3.572E-11 3.640E-11 3.698E-11 3.752E-11 
2 3 1 1.433E-12 1.655E-12 1.907E-12 2.014E-12 2.282E-12 2.682E-12 3.159E-12 3.685E-12 4.246E-12 4.833E-12 5.440E-12 6.059E-12 6.688E-12 9.845E-12 1.285E-11 1.810E-11 2.238E-11 2.590E-11 2.886E-11 3.139E-11 3.359E-11 3.552E-11 3.724E-11 4.375E-11 4.832E-11 5.192E-11 5.486E-11 

は、例えば、Iは、それ自体で、アレイ内のこのデータ・セットの第2列にしたい、と私はそれ自体で、アレイ内の3番目の列が欲しいです。しかし、私は列で区切られた配列の最後の列から4列目が必要です。私は個々の列を指定せずにこれを行う方法を知らない。テキストファイルを述べたことを考えると

+0

これを行うモジュールがあることは間違いありません。パンダのパッケージは私がそれをすることができます。自分で書きたい場合:ディスクからファイルを読み込みます。これは行ごとにデータを与え、これらの行を列に変換します。これは簡単です。 – Elmex80s

+1

数値データの場合は、 'data = numpy.genfromtxt(file、unpack = True);を見てください。第2 =データ[1]。第3 =データ[2]。 fourtoend = data [3:] '。 Pythonの標準ライブラリに類似の関数があるかどうかは不明です。 – Wisperwind

答えて

0

、私はつもりだコンテンツが線で、テキストファイルの行からフェッチされるように扱う:

with open("data.txt") as f: 
    for line in f: 
     data = line.split() 

     # I want the second column of this data set in an array by itself 
     second_column = data[1] 

     # I want the third column in an array by itself 
     third_column = data[2] 

     # I want column four through the last column in arrays that are separated by column 
     fourth_to_last_column = data[3:] 

をあなたが最初のsecond_columnthird_columnfourth_to_last_columnを印刷する場合行/入力すると、次のようになります。

2 
1 
['4.151E-12', '4.553E-12', '4.600E-12', '4.852E-12', '6.173E-12', '7.756E-12', '9.383E-12', '1.096E-11', '1.243E-11', '1.379E-11', '1.504E-11', '1.619E-11', '1.724E-11', '2.139E-11', '2.426E-11', '2.791E-11', '3.009E-11', '3.152E-11', '3.252E-11', '3.326E-11', '3.382E-11', '3.426E-11', '3.462E-11', '3.572E-11', '3.640E-11', '3.698E-11', '3.752E-11'] 
関連する問題