我做了一个程序,我在csv文件中有数据我想在数学方程中使用文件中的一些数据。
文件看起来像这样
gender,1500,300
这是我的代码
caloriesIn = 1400
callost = 100
with open ("fitness file.csv") as csvfile:
readcsv = csv.reader(csvfile, delimiter=",")
for row in readcsv:
BMR = (row[1])
caloriesLost = (row[2])
caloriesLost = caloriesLost + (str(((float(BMR)) - (caloriesIn)) + (int(callost))))
FitnessFile = open(("fitness file.csv") , "a")
FitnessInfo = "," + str(caloriesLost)
FitnessFile.write(FitnessInfo)
FitnessFile.close()
现在我想将刚刚制作的号码(caloriesLost)添加到文件中的最后一个号码。 当我运行它只是附加500(这是我早期计算的卡路里失去) 到这样的文件:
gender,1500,300,500
我需要它添加到文件中的最后一个数字,如下所示:
gender,1500,800
我知道这可能有点令人困惑,我很抱歉。我还是个初学者。 谢谢你的帮助:))
文件总是一行。
答案 0 :(得分:0)
如果它只是一行,那么没有理由使用csv模块使其过于复杂:
caloriesIn = 1400
callost = 100
fileName = 'fitness file.csv'
# read data from the file
with open(fileName) as f:
label, bmr, caloriesLost = f.read().strip().split(',')
# calculate the new caloriesLostvalue
caloriesLost = float(caloriesLost) + float(BMR) - caloriesIn + callost
# save the new data
with open(fileName, 'w+') as f:
f.write(','.join((label, bmr, calloriesLost)))