回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>所以我使用以下代码:</p>
<pre><code>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()
</code></pre>
<p>我使用printname函数来创建minTm0.0nkRj格式的文件名
其中k和j迭代,如上面的for循环所示。你知道吗</p>
<p>所有的工作与合并文件,只是我失去了我的csv文件的第一行。csv文件示例如下:</p>
<pre><code>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
</code></pre>
<p>显示m,R值的第一行对于最终文件至关重要。我似乎想不出任何理由算法会忽略它。有什么想法吗?在没有行<code>f.next()</code>的情况下运行代码并得到相同的结果。你知道吗</p>