以CSV格式打印前6行,然后开始读取

2024-09-22 16:37:50 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我有一个CSV,我试图打印出头6行,然后在后面开始代码。我是超级新手。我知道如何用next(reader)跳过前6行,但我需要打印前5行,因为它是头,然后在数据开始的第8行启动脚本。所以我认为这是reader=后面的某种print语句,然后可能是下一个(reader)来启动代码。只是我的理论。在

import csv

with open('GAT_US_PartReview_2017-06-23.csv', newline='') as f:
    reader = csv.reader(f)



    for row in reader:
        hqline, part_no, part_class, appl_req, appl_count, intr_req, 
        intr_count, oe_intr, has_oe_intr, has_attr_editor,
        part_IMG_req, has_part_img, has_part_img, has_mpcc, warr_req, 
        warr_txt, warr_pdf, msds_req, has_msds, upc_req, has_upc, 
        has_unspsc, attr_count, attrval_count, valid_part = row

CSV Import

^{pr2}$

Tags: csv代码imgcountreqreaderoerow
2条回答

你为什么不试试列举?在

import csv

with open('GAT_US_PartReview_2017-06-23.csv', newline='') as f:
    reader = csv.reader(f)

    for row_num, row in enumerate(reader):
        if row_num <= 5:
            print row  # Print out the header
        else:
            hqline, part_no, part_class, appl_req, appl_count, intr_req, 
            intr_count, oe_intr, has_oe_intr, has_attr_editor,
            part_IMG_req, has_part_img, has_part_img, has_mpcc, warr_req, 
            warr_txt, warr_pdf, msds_req, has_msds, upc_req, has_upc, 
            has_unspsc, attr_count, attrval_count, valid_part = row

很简单跳过前六行,然后使用一个简单的if..else

csv文件示例:

Supplier,  GAT   
Summary, Parts   
ACCT no, 40404
RecCount, 10122
App Date, june 14,2017

HQ,Part No, Part class, Stuff, Other stuff
GAT,'27211',O,NO,0
GAT,'27212',O,YES,0
GAT,'99999',O,NOPE,0

代码:

^{pr2}$

输出:

HQ Part No  Part class  Stuff  Other stuff
GAT '27211' O NO 0
GAT '27212' O YES 0
GAT '99999' O NOPE 0
                 -
[['Supplier', '  GAT   '], ['Summary', ' Parts   '], ['ACCT no', ' 40404'], ['RecCount', ' 10122'], ['App Date', ' june 14', '2017'], []]
>>>  

所以基本上,如果count小于或等于6,我就把那些不需要的字符串附加到stuff列表中。在

stuff.append(line)

如果线大于6,我会按你的要求拆开。在

hqline, part_no, part_class, appl_req, appl_count=line

希望这对你来说很清楚。在

当然您可以打印它们。我只是附加说明一下这个概念。在

相关问题 更多 >