2017-10-20 86 views
0

換號,我試圖改變這是寫在下面的順序我的輸入文件的XYZ數據:在記事本中的一些行++

8455 529 8 -0.141000 24.508381 8.604702 16.976215 

最後三個數字是XYZ。

但每次出現問題。首先,CR LF將在數字之間移動並更改值。然後我試圖處理它們,但似乎刪除了一些行。

我想這樣做:

我有9600線,如在記事本above_mentiones線++,我想從一個不同的文件修改的最後三個數字與其他一些數字。我應該怎麼做,記事本+ +文件中的這些行和其他行不會受到影響?

+0

你知道如何編程嗎?我可能會用一個小的自定義腳本(Javascript或Python)來解決這個問題 – Konstantine

+0

我對python非常陌生,但我認爲我可以多解釋一下。 –

+0

那麼這個想法是打開包含你的座標的文件,遍歷每一行(例如使用for循環),並採取每一行,並使用空格字符拆分它作爲分隔符。這將給你一個7值的列表,其中最後3個分別是xyz。然後,我會再次採用該行,並使用該語言的字符串替換函數來相應地替換每個X,Y,Z值。這個解釋大部分是算法化的,但我並不熟悉Python來告訴你究竟要運行哪些命令。 – Konstantine

回答

0

我希望我能理解你,我不知道如何在記事本++中做類似的事情,但我建議使用工具q在文本文件上執行SQL選擇。

如果你的文件1貌似

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 

可以使用

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 

得到

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將值視爲字符串的技巧 - 也許有一個我不知道的參數。