在python中使用串行数据列表进行迭代计算

时间:2016-01-31 13:49:59

标签: python list iteration

我是Python的新手,我正在尝试计算从几个传感器流式传输的串行数据变量。在流量参数中,我想计算气体的浓度。我第一次运行代码(下面的修剪版本),它产生了一个类型错误,表明' float'不可迭代。所以我创建了一个列表'我的结果= []'尽可能多的帮助博客建议,现在我在代码的最后四行中的任何一行上都会出现语法错误。任何方向都会有很大帮助,谢谢。

from time import gmtime, strftime 
import os
import msvcrt
import struct
import numpy as np

dataname = 'data.csv'

myresults = []

#preparing variables for calculations and plotting from string
with open(dataname, 'r') as csvfile:  # open file for reading
   for line in csvfile:               # iterate over each line
      parts = line.split(',')         # split string on comma
      value1 = float(parts[0])        # LAT
      value2 = float(parts[2])        # LONG
      value3 = float(parts[3])        # Height
      value4 = float(parts[4])        # Volt 

#Calculate concentration
Conc = (((2*value2)+(8*value3))*12)/value4

myresults.append(Conc)
print "Updated List: ", myresults
print Conc

quit()

1 个答案:

答案 0 :(得分:0)

我想也许你应该从代码视图中缩进两行的跟随行(与计算valueN的行相同)

#Calculate concentration
Conc = (((2*value2)+(8*value3))*12)/value4

myresults.append(Conc)