2017-10-20 20 views
0

私は、次の順序で書かれている私の入力ファイルのXYZデータを変更しようとしています:変更番号++

8455 529 8 -0.141000 24.508381 8.604702 16.976215 

最後の3つの数字はXYZです。

しかし、何かがうまくいかないときはいつでも。最初に、CR LFは数字の間に入り、値を変更します。その後、私はそれらを処理しようとしましたが、いくつかの行が削除されているようです。

私はこれをしたい:

私は別のファイルからいくつかの他の数字と最後の3つの番号を変更したいメモ帳でabove_mentionesライン++などの9600本のラインを持っています。これらの行や、メモ帳の++ファイルの他の行が影響を受けないようにするにはどうすればよいですか?

+0

プログラム方法は知っていますか?私はおそらくこれを小さなカスタムスクリプト(JavascriptまたはPythonのいずれか)で対処したいと考えています。 – Konstantine

+0

私はPythonには本当に新しいですが、私はもう少し説明することができます。 –

+0

あなたの座標を含むファイルを開いて、各行(forループを使用して)を繰り返して、各行を取り出し、スペース文字を分割区切り文字として使用して分割する方法が考えられます。これは7つの値のリストを与え、最後の3つはそれぞれxyzです。私は再び線を引っ張り、言語の文字列置換関数を使って各X、Y、Zの値をそれに応じて置き換えます。この説明はほとんどがアルゴリズム的ですが、私は実行するコマンドを正確に伝えるためにPythonに慣れていません。 – Konstantine

答えて

0

私はあなたのことをよく理解していて、メモ帳++でこれをどうするかわからないことを願っていますが、ツールqを使用してテキストファイルを選択することをお勧めします。

あなたfile1が

a e f g 
a e f g 
8455 24.508381 8.604702 16.976215 
8456 24.508381 8.604702 16.976215 
8457 24.508381 8.604702 16.976215 
8458 24.508381 8.604702 16.976215 
8459 24.508381 8.604702 16.976215 
8460 24.508381 8.604702 16.976215 

のように見えますし、ファイル2は

a b c d e f g 
a b c d e f g 
8455 529 8 -0.000000 24.000000 8.000000 16.000000 
8456 529 8 -0.000000 24.000000 8.000000 16.000000 
8457 529 8 -0.000000 24.000000 8.000000 16.000000 
8458 529 8 -0.000000 24.000000 8.000000 16.000000 
8459 529 8 -0.000000 24.000000 8.000000 16.000000 
8460 529 8 -0.000000 24.000000 8.000000 16.000000 

ようにあなたが

a b c d e f g 
8455 529 8 -0.000000 24.508381 8.604702 16.976215 
8456 529 8 -0.000000 24.508381 8.604702 16.976215 
8457 529 8 -0.000000 24.508381 8.604702 16.976215 
8458 529 8 -0.000000 24.508381 8.604702 16.976215 
8459 529 8 -0.000000 24.508381 8.604702 16.976215 
8460 529 8 -0.000000 24.508381 8.604702 16.976215 
を取得するために

q.py -H "SELECT file02.a, file02.b, file02.c, file02.d, file01.e, file01.f, file01.g from ..\q\01.txt file01 JOIN ..\q\02.txt file02 ON file01.a=file02.a">03.txt 

を使用することができますに見える場合

ダブルヘッダーはqに値を文字列として扱うように強制するトリックです。わからないパラメータがあるかもしれません。