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)