-7
我試圖將以下樣式文本文件從mm轉換爲m(即將所有數字除以1000)。它由一個常規模式組成,包含文本和數字。用文本和數字在文本文件中將單位從mm轉換爲m
我設法解決(最終)使用python,它有點粗糙和準備好,但它完成任務。任何建議/改進將不勝感激。
import re
import numpy as np
import linecache
from io import StringIO
myfile = "file"
results = open("results.txt","w")
for i in range(1,50000):
line = linecache.getline(myfile,i)
if re.search('[a-zA-Z]', line):
results.write(line)
elif line.isspace():
results.write(str(line))
elif re.search('[-]', line):
results.write(str(line))
else:
c = StringIO(line)
data = np.loadtxt(c)
a = np.array(data)
c = a/1000
d = str(c).replace('[','').replace(']','')
results.write(str(d)+'\n')
results.close()
該文件是像這樣:
add
tube
3033303.0 2998206.95111 106180.1625
60.325 6222.60621
y
0.0 0.0
0.0
add
cube
3027189.24332 3032175.78955 114508.75
168.9 6170.76909
y
0.0 0.0
0.0
期望中的結果將是;
add
tube
3033.3030 2998.20695111 106.1801625
0.060325 6.22260621
y
0.0 0.0
0.0
add
cube
3027.18924332 3032.17578955 114.50875
0.1689 6.17076909
y
0.0 0.0
0.0
堆棧溢出不是一個代碼編寫serivce – ppperry
1.打開文件2.每一行,3,複製線路輸出,4,否則拆分線,轉換每一塊浮動,除以1000,轉換回一行文本,寫入輸出。它應該花費大約6分鐘來編寫和測試。 –
我是新來編碼,所以不知道從哪裏開始。到目前爲止,我試圖讀取文件,刪除文本和空格,並轉換爲列表然後分割,但沒有取得任何進展。如果遇到「請爲我寫這段代碼」,我並不打算 - 只是需要一些指示。謝謝,休,我會試試。 – matman9