Python 2.7以CSV格式读取新行并将其存储为变量

时间:2016-10-16 22:03:57

标签: python csv

我正在使用下面的代码来阅读我的csv的最后一行。文件 不断更新,工作得很好。我收到了最后一行 它由11个以逗号分隔的值组成。它就像:

10/16/16,-1,false,4:00:00 PM,4585,.......等等

现在我想以第6列和第9列中的值为例进行存储 作为两个单独的变量,后来将它们用作条件。有没有简单的方法可以在现有代码中添加几行来实现这一点,或者我必须编写一个新代码?

import time, os

#Set the filename and open the file
filename = 'Test.csv'
file = open(filename,'r')

#Find the size of the file and move to the end
st_results = os.stat(filename)
st_size = st_results[6]
file.seek(st_size)

while 1:`enter code here`
    where = file.tell()
    line = file.readline()
    if not line:
        time.sleep(0.5)`enter code here`
        file.seek(where)
    else:
        print line, # already has newline

1 个答案:

答案 0 :(得分:1)

你当然可以在那里添加几行来获得你想要的东西。我会使用line.split(',')用逗号分隔每一行。这将返回一个像['10/16/16', '-1', 'false', '4:00:00 PM', '4585' ]这样的数组。然后,您可以将数组保存在索引6~9处,以方便您使用,稍后在代码中使用它。

例)

while 1:`enter code here`
where = file.tell()
line = file.readline()
if not line:
    time.sleep(0.5)`enter code here`
    file.seek(where)
else:
    arr_line = line.split(',')
    var6 = arr_line[6]
    var7 = arr_line[7]
    var8 = arr_line[8]
    var9 = arr_line[9]

    # other code ...

    print line