我正在尝试编辑我拥有的一些文本文件,以便为其中一列添加价值。我想在文件的第二列中添加两个新数字,并用空格分隔。第一列将在 13 个字符处结束,然后有两个空格,然后添加新的两位数字,其他列将保持不变。
我编写了以下脚本,但不幸的是它确实有效。如果有人可以帮助我找到我的错误,我将不胜感激。
%********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