读取CSV文件并执行操作

时间:2017-10-03 18:35:29

标签: python-3.x csv

我有一个csv文件,每天填充3行。当它开始时它没有,然后是1,2和3.我希望我的代码通过这些行并根据行写入的内容做一个动作,不管那里有什么。我遇到的问题是它将读取第1行和第1行。 3并执行得很好,但不是第2行。

CSV NAME - User1.csv
CSV EXAMPLE:
Line 1
Line 2
Line 3

我的代码:

import csv
import itertools
while 1:
    z = 'User1.csv'
    RUN1 = False
    RUN2 = False
    with open(z, 'r') as f:
        Line = csv.reader(f)
        for Line in itertools.islice(f, 1, 2):
            print('newline2')
            RUN1 = True
        if RUN1 == False:
            for Line in itertools.islice(f, 0, 1):
                print('newline1')
                RUN2 = True
            if RUN2 == False:
                print('newline0')   
    break

如果你能简单解释为什么你这样编写代码,我也会接受对代码的完全重写,这样我就可以更好地学习python。

解决了!感谢a_guest评论。

工作代码是:

import csv
import itertools
while 1:
    z = 'User1.csv'
    RUN1 = False
    RUN2 = False
    with open(z, 'r') as f:
        Line = csv.reader(f)
        for Line in itertools.islice(f, 1, 2):
            print('newline2')
            RUN1 = True
        if RUN1 == False:
            with open(z, 'r') as f:
                for Line in itertools.islice(f, 0, 1):
                    print('newline1')
                    RUN2 = True
                if RUN2 == False:
                    print('newline0')   
    break

因为a_guest说你必须重置文件指针,我再次添加open(z,' r')作为f:并修复了它。请随意使用其他方法发布此问题,以帮助其他人遇到非常类似的问题。

0 个答案:

没有答案