如何在循环函数中记录每个输出值(数值)并将其保存为.csv或.txt文件?

问题描述 投票:0回答:1

我想记录所有的 EndToEnd 值。这样做很麻烦。代码不断给我循环的最终值。这几天我一直在排除故障。我觉得我想得太多了

while(D<n):
    print(D)
    print(F)
    G=((Basepairs*D)+(3*F)) 
    df = pd.read_table('01_03_2023trajectoryoutput.dat', delimiter=' ',     skiprows=range(0,G), nrows=1, header=None, usecols=[0, 1, 2])  
    df.head()

EndToEnd=(((A-X)**2+(B-Y)**2+(C-Z)**2)**(1/2)*(0.842))
print(EndToEnd)

我试过了

python oxDNA.py > End-to-End-DNA-Distance.txt
这没用 我试图分别导入每个值,python 给出了
NaN
错误消息

python loops while-loop
1个回答
0
投票

问题很明显,你正试图对一个不是数字的变量执行数学任务。 NaN = '不是数字'。您将需要执行以下操作之一。

  • 添加代码首先检查值是否可以转换为数字,如果 所以然后将单元格值转换为 INT 或其他一些数字 价值。或者检查它是否为空并给出一个数字。 或者
  • 将数据表中的单元格转换为数值,以便在阅读时 它将作为数值读入。这也可能必须检查以查看它是否也是一个数值。

如果它是数字,则执行您的 ENDTOEND 计算。

如果不是跳过/修改/确保它是一个数字。

© www.soinside.com 2019 - 2024. All rights reserved.