Я создал функцию, которая выполняет несколько вычислений, и мне удалось правильно получить нужные данные в файле csv. Однако мой код очень длинный, и, просматривая другие темы на этом топе c, я не нашел простого способа его сократить. Мой код следующий:
def modelc(x,Mblood,Mliver,dt):
createFile = open('Time.csv', 'w')
createFile.write('t'+'\n')
createFile.close()
createFile = open('Blood.csv', 'w')
createFile.write('Mblood'+'\n')
createFile.close()
createFile = open('Liver.csv', 'w')
createFile.write('Mliver'+'\n')
createFile.close()
while x<24:
Mblood = Mblood-Mblood*0.5*dt
Mliver = Mliver+Mblood*0.5*dt
x+=dt
appendFile = open('Time.csv','a')
appendFile.write('%f'%x+'\n')
appendFile.close()
appendFile = open('Blood.csv','a')
appendFile.write('%f'%Mblood+'\n')
appendFile.close()
appendFile = open('Liver.csv','a')
appendFile.write('%f'%Mliver+'\n')
appendFile.close()
csv_input = pandas.read_csv('Time.csv')
csv_blood = pandas.read_csv('Blood.csv')
csv_liver = pandas.read_csv('Liver.csv')
csv_input['MassBlood'] = csv_blood['Mblood']
csv_input['MassLiver'] = csv_liver['Mliver']
csv_input.to_csv('Modeloutput.csv', index=False)
modelc(0,20,0,0.001)
Тогда CSV-файл будет выглядеть так: введите здесь описание изображения
Есть ли у кого-нибудь простой способ достижения того же результата с более коротким кодом?