我正在嘗試編輯一些文本文件,以便將值添加到其中一列。我想將兩個新數字添加到我的文件的第二列,其中用空格分隔。第一列將以13個字符結束,然後有兩個空格,然後添加新的兩個數字,其他列將保持不變。在Python中向文本文件的列添加新數字
我寫了下面的腳本,但不幸的是它確實有效。如果有人能幫我找到我的錯誤,我很感激。
%********function************
def add_num(infile,outfile):
output = ["%s %s%s" %(item.strip()[:13] ,32,item.strip()[16:]) for item in infile]
outfile.write("\n".join(output))
outfile.close()
return outfile
%*********************************
%**********main code for calling the function*******
import os, Add32
folder = 'E:/MLS_HFT/TEST/Stuttgart_2009_pointclouds/'
for filename in os.listdir(folder):
infilename = os.path.join(folder,filename)
if not os.path.isfile(infilename): continue
base,extension = os.path.splitext(filename)
infile= open(infilename, 'r')
outfile = open(os.path.join(folder, '{}_32{}'.format(base,extension)),'w')
add32.add_num(infile,outfile)
,這是一個數據樣本:
399299.855212 512682.330 5403021.950 303.471 64 1 1 2 75
399299.855212 512681.470 5403020.790 302.685 1 1 2 2 75
399299.855222 512682.360 5403021.970 303.526 79 1 1 2 76
你是什麼意思「它不工作」?有沒有錯誤?你得到了什麼,你應該得到什麼? –
好吧,我會收到一個空的輸出。 – user2355306
所以沒有寫入outfile?它不(也不應該)打印任何東西。你怎麼叫它? –