读取 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])
我正在尝试从命令行读取 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])