簡體   English   中英

python for csv文件循環

[英]python for loop with csv file

此代碼顯示csv文件的前兩行:

with open('myfile.csv', 'r') as f:
    for n, l in enumerate(f):
        if n > 1:
            break
        print l

如何將上面的代碼集成到下面的代碼? (我正在尋找sendPackage為兩行)

with open(sys.argv[1]) as csvfile:
    reader = csv.DictReader(csvfile)
    for row in reader:
        sendPackage(row, job_id)

還有其他方法,但這正是您所要求的簡單答案:

with open(sys.argv[1]) as csvfile:
    reader = csv.DictReader(csvfile)
    for row_num, row in enumerate(reader):
        if row_num > 1:
            break
        sendPackage(row, job_id)

一種更整潔的方法是使用itertools.islice

import csv
import sys
from itertools import islice

def sendPackage(row, job_id):
    print('row {}: job {}'.format(row, job_id))

with open(sys.argv[1]) as csvfile:

    reader = csv.DictReader(csvfile)
    for row in islice(reader, 2):
        sendPackage(row, 1) # dummy value for job_id

該代碼最多需要reader包含2個元素。 如果少於2個元素,則在對其進行迭代后停止。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM