Python如何在CSV DictReader键中去除尾随空格

2024-07-05 14:30:47 发布

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

我使用的是python(2.6)csv DictReader。我的输入文件有一个标题行,其中列名有尾随空格:

colname1,      colname2     ,col3, etc.
XX, YY, ZZ

返回的dict对象具有key()=['colname1', 'colname2 ', 'col3']

从后面的空格到后面有个选项?在

--编辑

在按关键字名称进行处理时会出现问题:

^{pr2}$

这些文件是数据库转储。dump程序太聪明了——它根据数据调整输出列宽——这意味着不同的选择集将具有不同的列宽和不同的键长度。有时我必须使用r['column2 '],有时需要填充或减少空间。哎哟!在


Tags: 文件csv对象key标题etcdictcol3
3条回答

Python3版

with open('file.csv') as fh:
    header = [h.strip() for h in fh.readline().split(',')]
    reader = csv.DictReader(fh, fieldnames=header)

您需要在csv模块中注册一个自定义方言

csv.register_dialect('MyDialect', quotechar='"', skipinitialspace=True, quoting=csv.QUOTE_NONE, lineterminator='\n', strict=True)

然后在创建听写器时使用方言:

^{pr2}$

这是所有的Dialect Options

只需手动阅读第一行并将其传递给DictReader。在

with open('file.csv') as fh:
    header = [h.strip() for h in fh.next().split(',')]
    reader = csv.DictReader(fh, fieldnames=header)

相关问题 更多 >