【问题标题】:python - skip top lines of CSV filepython - 跳过CSV文件的顶行
【发布时间】:2014-11-12 23:38:32
【问题描述】:

我有一组从第三方应用程序生成的 csv 文件。在每个文件的顶部,它有一个标题、空白行、关于内容的 X 行、空白行,然后其余的是实际的 csv。

由于行数是可变的,我可以跳过 X 行。我目前正在通过使用拆分和获取列数来跳过行,但我确信有更好的方法。

我可以用 csvreader 或 pandas 做到这一点吗?

# current code
for line in greport.data.splitlines():
    # split up the line to work with the fields
    fields = line.rstrip().rstrip(',').split(',')

    if len(fields) < 5: 
        continue
    else:
       <process file>

#

# sample file
Title of report

Server Name: all
Group Name: all
Client Name: all
Save Set Name: all
Status: all
Backup Type: all
Level: all
Group Start Time: from 11/11/14 6:00:00 PM to 11/12/14 5:59:00 PM

Client Name,Save Set Name,Save Set ID,Group Start Time,Save Type,Level,Status
server1,All,,11/11/14 6:00:00 PM,save,skip,succeeded,
server2,All,,11/11/14 6:00:00 PM,save,skip,succeeded,
server3,All,,11/12/14 12:00:00 AM,save,skip,succeeded,
server4,ASR:\,3630378478,11/11/14 11:00:00 PM,save,1,succeeded,

【问题讨论】:

    标签: python csv


    【解决方案1】:

    是的,你可以用csv达到同样的效果:

    import csv
    
    with open('data', 'r') as f:
        reader = csv.reader(f)
    
        for row in reader:
            if len(row) < 5:
                continue
    
            #process the data
    

    【讨论】:

    • 好答案。您可以删除 else 子句,因为它也是多余的。我在循环中经常使用这种模式 - 在开始时添加某种保护/过滤检查以跳过我不需要的任何内容。
    • 在你给我看之后就很明显了。 :) 谢谢!
    猜你喜欢
    • 2013-07-23
    • 1970-01-01
    • 2020-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多