所以我使用以下代码:
def printname(x,m,y,n,z,R):
name = x + str(m) + y + str(n) + z + str(R) + ".csv"
return name
fout=open("out.csv","a")
for k in [0.9, 0.8, 0.75, 0.6, 0.5, 0.4, 0.2, 0.1]:# n
for j in [0.,5.,10.,30.,70.,80.,100.]: # R
f = open(printname("minTm",0.0,"n",k,"R",j))
f.next() # skip the header
for line in f:
fout.write(line)
f.close() # not really needed
fout.close()
我使用printname函数来创建minTm0.0nkRj格式的文件名 其中k和j迭代,如上面的for循环所示。你知道吗
所有的工作与合并文件,只是我失去了我的csv文件的第一行。csv文件示例如下:
m=,0.0,R=,0.0
Tmin,Tmax,s,a,tmp
5000,10000.0,[ -4.06784730e-10],[ 1.5],0.0060940149762198454
7500,10000.0,[ 0.],[ 1.5],0.0058371331958134804
8750,10000.0,[ -2.00167591e-06],[ 1.5],0.0057109512367820173
9375,10000.0,[ -5.81705152e-06],[ 1.5],0.0056484231992318433
9687,10000.0,[ 0.],[ 1.5],0.0056173494163291524
9843,10000.0,[ -9.33496371e-16],[ 1.5],0.0056018475131042059
9921,10000.0,[ -8.29812062e-15],[ 1.5],0.0055941053050743194
9960,10000.0,[ -3.01889438e-06],[ 1.5],0.0055902363865212969
9980,10000.0,[ -5.86201413e-06],[ 1.5],0.0055882528908336284
9990,10000.0,[ -2.57259293e-18],[ 1.5],0.0055872612866520906
9995,10000.0,[ -8.29261958e-08],[ 1.5],0.0055867655204772633
9997,10000.0,[ -4.17256457e-06],[ 1.5],0.0055865672207120942
9998,10000.0,[ -6.70360888e-06],[ 1.5],0.0055864680722669735
9999,10000.0,[ -1.02650006e-11],[ 1.5],0.0055863689247764216
,
Tmin= ,9999,s=,[ -1.02650006e-11],a=,[ 1.5],tmp=,0.0055863689247764216
显示m,R值的第一行对于最终文件至关重要。我似乎想不出任何理由算法会忽略它。有什么想法吗?在没有行f.next()
的情况下运行代码并得到相同的结果。你知道吗
在输出文件中,是否丢失了所有输入文件的第一行?因为看起来,如果在代码中去掉
f.next()
行,输入的第一行应该是输出的,但它可能会附加到上一个输入条目的最后一行。如果是这种情况,您可以尝试在读取每个输入文件后添加一个额外的换行符:好的,我知道了:
谢谢你的建议。你知道吗
相关问题 更多 >
编程相关推荐