读取 CSV 时跳过 Header 行

Skip Header Row when reading in a CSV

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

例如,这里是 csv 文件的屏幕截图:

这是我目前使用的代码:

#!/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

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

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