python 读csv文件对列名进行合法性验证

如果正在读取CSV 数据并将它们转换为命名元组,需要注意对列名进行合法性认证。例如,一个CSV 格式文件有一个包含非法标识符的列头行,这样最终会导致在创建一个命名元组时产生一个ValueError 异常而失败

import csv,re
from collections import namedtuple

with open(r'C:\Temp\ff.csv') as f:
    f_csv=csv.reader(f)
    headers=[re.sub('[^A-Za-z]','Q',h)for h in next(f_csv)]
    print(headers)
    Row=namedtuple('Row',headers)
    for r in f_csv:
        row=Row(*r)
        print(row)

 

posted @ 2019-02-22 13:25  筱筱的春天  阅读(1150)  评论(0编辑  收藏  举报