Python 如何将.csv文件的内容解析为dict,同时始终跳过标题?

Python 如何将.csv文件的内容解析为dict,同时始终跳过标题?,python,csv,header,Python,Csv,Header,如果这是一个非常基本的问题,我很抱歉,但是我设计了一个程序,要求用户输入一个.csv文件。我已经设置了我的代码来解析这个.csv文件,删除可能干扰代码其余部分的任何字符,还删除了dict中带有“序列号”键(即.csv中的头)的任何条目。但是,我知道删除头并不是很符合Python,而且,它还假设用户将始终上载一个.csv文件,其头的格式为“序列号”、“序列1”、“序列2”。我应该怎么做,以便无论在.csv文件中如何设置标头,在将标头解析为dict时始终跳过该标头 import csv def c

如果这是一个非常基本的问题,我很抱歉,但是我设计了一个程序,要求用户输入一个.csv文件。我已经设置了我的代码来解析这个.csv文件,删除可能干扰代码其余部分的任何字符,还删除了dict中带有“序列号”键(即.csv中的头)的任何条目。但是,我知道删除头并不是很符合Python,而且,它还假设用户将始终上载一个.csv文件,其头的格式为“序列号”、“序列1”、“序列2”。我应该怎么做,以便无论在.csv文件中如何设置标头,在将标头解析为dict时始终跳过该标头

import csv

def check_sequences_csv_file(csv_file):
    sequence_dict= {}
    while True:
        try:
            with open(csv_file, "rU") as csvfile:
                sequences = csv.reader(csvfile, dialect= 'excel')
                for line in sequences:
                    candidate_number= line[0]
                    switch= line[1].replace(' ','').replace('\r','').replace('\n','')
                    trigger= line[2].replace(' ','').replace('\r','').replace('\n','')
                    sequence_csv_dict[candidate_number]= [switch, trigger]
                sequence_csv_dict.pop('Sequence number', None)
        except IOError:
            print("Please make sure the file is present in the working directory.")
            continue 
        else:
            break
    return sequence_dict

仅使用内置的
csv
模块,简单的方法是:

with open(csv_file, "rU") as csvfile:
     csv_file.readline()
     sequences = csv.reader(csvfile, dialect= 'excel')
这在大多数情况下都会起作用,但是如果标题行是多行的,则会出现解析错误。因此,最好的方法是使用
csv.reader
对象的第一次迭代:

with open(csv_file, "rU") as csvfile:         
     sequences = csv.reader(csvfile, dialect= 'excel')
     next(sequences)
(您可以保存标题行以便以后使用:
title\u row=next(sequences)


然后继续你的
for
循环,阅读其余的行。

如果你能发布一个数据样本和结果字典的样子,回答这个问题会更容易。将其解析为
dict
是不寻常的。你可能在找
dict
的列表吗?