从csv读取python中的头文件

从csv读取python中的头文件,python,parsing,csv,Python,Parsing,Csv,是否有一种方法可以在不使用任何包(如csv、pandas等)的情况下以更有效的方式将标头数组注入标头向量 data = [] b = 1 with open(datafile, "rb") as f: for line in f: if b: header=line.strip('\n').split(',') b = 0 continue entries=line.strip('\n

是否有一种方法可以在不使用任何包(如csv、pandas等)的情况下以更有效的方式将标头数组注入标头向量

data = []
b = 1
with open(datafile, "rb") as f:
    for line in f:
        if b:
            header=line.strip('\n').split(',')
            b = 0
            continue
        entries=line.strip('\n').split(',')
        data.append(dict(zip(header,entries)))
        #print data
return data

如果不需要对同一个文件进行两次检查,那么生成值通常比返回列表要好

with open(datafile, "rb") as f:
    header = next(f).strip('\n').split(',')
    for line in f:
        entry=line.strip('\n').split(',')
        yield dict(zip(header,entry))

我只是用列表理解重写了你的代码。我不知道它是快还是慢。我认为这不容易阅读。使用它只是为了教育目的

datafile = "hoge.csv"
l = [line.strip('\n').split(',') for line in open(datafile, "rb")]
data = [dict(zip(l[0],r)) for r in l[1:]]

这看起来像是csv.DictReader减去了很多边缘案例处理。我可以想象您可能不想或无法使用
熊猫的情况;但是为什么要避免csv呢?没有理由。我想这样写是为了教育目的。如果你想写一篇是为了教育目的的,你应该让它不平凡。正确处理报价将是一个很好的功能添加。