Пропустить строку заголовка при чтении в CSV - PullRequest
0 голосов
/ 28 сентября 2018

Я пытаюсь прочитать в 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 голосов
/ 28 сентября 2018

Вам нужно сделать одну итерацию перед началом цикла.Это довольно распространенное явление.

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])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...