我从一个文件中读取行,该文件包含两个具有该样式值的列:
100.E-03 5.65581E-06
110.E-03 11.222E-06
120.E-03 18.3487E-06
130.E-03 15.6892E-06
我需要在antoher文件中将它们写为:
100.E-03 , 5.65581E-06
110.E-03 , 11.222E-06
120.E-03 , 18.3487E-06
130.E-03 , 15.6892E-06
我可以分手吗?我可以定义空格,例如5个空格作为拆分变量吗?如果是,我如何选择分割部分以便按照我想要的方式编写它们: 我的脚本看起来像:
for k in files:
print 'k =',k
from abaqus import session
print k
with open("niffacc{k}.inp".format(k=k)) as f1:
with open("niffacc_{k}.inp".format(k=k),"w") as f2:
for line in itertools.islice(f1, 4, None):
b = line.split(" ")
#print "b:", b
c = b[1]
d = b[3]
f2.write('%s'%c + "," + '%s'%d)
#with open('VY_{k}'.format(k=k), 'a') as f1:
#lines = f1.readlines()
f2.close()
f1.close()
我认为问题在于定义b,分裂线。通过将空格定义为拆分字符有什么问题吗?由于有很多空格,python是否存在问题,或者它是作为一组空格处理的? 是一个更好的解决方案转换csv文件中的文件然后回到txt文件?
答案 0 :(得分:2)
我不确定你为什么要在列之间留下那么多空格,但你可以在空格上拆分:
with open('file1.txt') as f1, open('file2.txt', 'w') as f2:
for line in f1:
f2.write(line.split()[0] + ',' + line.split()[1] + '\n')
如果你真的想要一堆空格,那么只需使用:
f2.write(line.split()[0] + ' , ' + line.split()[1] + '\n')
答案 1 :(得分:1)
Chrome Developer tools
会自动处理任意数量的空格。
split