读取CSV时跳过标题行

时间:2018-09-28 03:32:52

标签: python-3.x mapreduce

我正在尝试从命令行读取一个csv文件,并对列进行一些计算。但是,当文件被读入时,我正在努力跳过第一行(标题行)。

例如,这是csv文件的屏幕截图: enter image description here

这是我当前正在使用的代码:

#!/usr/bin/env python
import sys
import re
import csv

def main(argv):
    for row in csv.reader(iter(sys.stdin.readline, "")):
        quantity = int(row[3])
        price_per_unit = int(row[5])
        cum_sum = quantity*price_per_unit
        print(row[0]+" "+str(cum_sum)+" "+row[6]+"\t"+"1")

#Note there are two underscores around name and main
if __name__ == "__main__":
    main(sys.argv)

从命令行运行此命令

python problem1.py < orders.csv

1 个答案:

答案 0 :(得分:2)

在开始循环之前,您需要执行一次迭代。这很常见。

my_iterator = iter(sys.stdin.readline, "")
my_iterator.next()  # Gets the first line and does nothing with it.
for row in csv.reader(my_iterator):
    quantity = int(row[3])