Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 解析CSV文件并逐行比较_Python_Python 3.x - Fatal编程技术网

Python 解析CSV文件并逐行比较

Python 解析CSV文件并逐行比较,python,python-3.x,Python,Python 3.x,我是Python编码的初学者 我尝试打开一个CSV文件并逐行比较 现在我比较第1行和第2行,然后比较第3行和第4行 我想比较第1行和第2行,第2行和第3行,第3行和第4行 我的代码: with open('file.csv', newline='') as f: reader0 = csv.reader(f) rownum = 0 for row in reader0: try:

我是Python编码的初学者

我尝试打开一个CSV文件并逐行比较

现在我比较第1行和第2行,然后比较第3行和第4行

我想比较第1行和第2行,第2行和第3行,第3行和第4行

我的代码:

    with open('file.csv', newline='') as f:
          reader0 = csv.reader(f)
          rownum = 0
          for row in reader0:
                 try:
                     miaw = next(reader0)
                     OTIME = row[27]
                     NOTIME = miaw[27]
                     if rownum == 0:
                        header = row
                        rownum += 1
                     else:
                        print(row[0],row[1],OTIME,miaw[0],miaw[1],NOTIME)
                  except:
                  print ("exception")
这给了我结果:

1 ID1 05-APR-12 00.00.05.800000 2 ID2 05-APR-12 00.00.05.801000
3 ID3 05-APR-12 00.00.06.074000 4 ID4 05-APR-12 00.00.13.003000
我的目的是比较时间戳

感谢您的帮助

因为您调用了
next(reader0)
,所以第二行在与第一行进行比较时只读取一次

for
循环外部的前一行使用缓冲区

last_line = None
for row in reader0:
    if last_line is None:
        last_line = row
        continue

    # now compare row to last_line

    last_line = row

您可以获取所有行的时间戳,并对它们执行任何您喜欢的操作(您没有指定执行哪种比较),这可以使用regex完成,如以下示例所示:

data = "1 ID1 05-APR-12 00.00.05.800000 2 ID2 05-APR-12 00.00.05.801000 3 ID3 05-APR-12 00.00.06.074000 4 ID4 05-APR-12 00.00.13.003000"

import re
timestamps = re.findall(r'\d{2}\.\d{2}\.\d{2}\.\d{6}', data)
print timestamps
在这种情况下,结果如下:

['00.00.05.800000', '00.00.05.801000', '00.00.06.074000', '00.00.13.003000']
希望这有帮助