首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >是否使用CSV文件跳过循环中的第一行(字段)?

是否使用CSV文件跳过循环中的第一行(字段)?
EN

Stack Overflow用户
提问于 2013-02-03 23:52:06
回答 3查看 146.1K关注 0票数 54

可能重复: When processing CSV data, how do I ignore the first line of data?

我正在使用python打开CSV文件。我正在使用公式循环,但我需要跳过第一行,因为它有标题。

到目前为止,我记得是这样的,但它遗漏了一些东西:我想知道是否有人知道我正在尝试做的事情的代码。

代码语言:javascript
复制
for row in kidfile:
    if row.firstline = false:  # <====== Something is missing here.
        continue
    if ......
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-02-04 00:03:05

执行此操作的最佳方法是在将文件对象传递给csv模块后跳过标头:

代码语言:javascript
复制
with open('myfile.csv', 'r', newline='') as in_file:
    reader = csv.reader(in_file)
    # skip header
    next(reader)
    for row in reader:
        # handle parsed row

这将正确处理多行CSV标头。

更老的答案:

你可能想要这样的东西:

代码语言:javascript
复制
firstline = True
for row in kidfile:
    if firstline:    #skip first line
        firstline = False
        continue
    # parse the line

实现相同结果的另一种方法是在循环之前调用readline

代码语言:javascript
复制
kidfile.readline()   # skip the first line
for row in kidfile:
    #parse the line
票数 71
EN

Stack Overflow用户

发布于 2013-02-04 00:06:41

有很多方法可以跳过第一行。除了Bakuriu所说的那些之外,我还要补充:

代码语言:javascript
复制
with open(filename, 'r') as f:
    next(f)
    for line in f:

和:

代码语言:javascript
复制
with open(filename,'r') as f:
    lines = f.readlines()[1:]
票数 126
EN

Stack Overflow用户

发布于 2013-02-04 01:04:29

csvreader.next()以列表的形式返回读取器的可迭代对象的下一行,并根据当前方言进行解析。

票数 28
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14674275

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档