次のようなファイルがあります。
@ junk
...
@ junk
1.0 -100.102487081243
1.1 -100.102497023421
... ...
3.0 -100.102473082342
&
@ junk
...
@
と文字の間にある2列の数字だけに興味があり&
ます。これらの文字は、ファイル内の他の場所に表示される場合がありますが、数字ブロック内には表示されません。
最初の列と2番目の列の2つのリストを作成したいと思います。
List1 = [1.0, 1.1,..., 3.0]
List2 = [-100.102487081243, -100.102497023421,..., -100.102473082342]
私はシェルスクリプトを使用して、リストを作成するより単純なPythonスクリプト用にこれらのファイルを準備してきましたが、より一貫性のあるアプリケーションのために、これらのプロセスをPythonに移行しようとしています。何か案は?Pythonとファイル処理の経験は限られています。
編集:言及する必要があります、この番号ブロックはファイルの2つの場所に表示されます。両方のナンバーブロックは同一です。
Edit2:カスタムライブラリに入れるので、これには一般的な関数で十分です。
現在の取り組み
私は現在、シェルスクリプトを使用して、数値ブロック以外のすべてを2つの別々の列にトリミングしています。そこから、次の関数を使用するのは簡単です。
def ReadLL(infile):
List = open(infile).read().splitlines()
intL = [int(i) for i in List]
return intL
私のメインからそれを呼び出すことによって
import sys
import eLIBc
infile = sys.argv[1]
sList = eLIBc.ReadLL(infile)
問題は、シェルスクリプトを使用するのではなく、Pythonを使用して元のファイルから数値ブロックを抽出する方法を知っていることです。