在Python中获取DictReader的标题的特殊情况

在Python中获取DictReader的标题的特殊情况,python,csv,python-3.x,data-structures,Python,Csv,Python 3.x,Data Structures,通常,将使用.csv文件的第一行作为列标题,即字典的键: If the fieldnames parameter is omitted, the values in the first row of the csvfile will be used as the fieldnames. 然而,在我的第一行中,我面临着这样的问题: 格式:header1 header2 header3…等 格式:需要跳过,因为它不是列标题。我可以这样做: column_headers = ['header1',

通常,将使用.csv文件的第一行作为列标题,即字典的键:

If the fieldnames parameter is omitted, the values in the first row of the csvfile will be used as the fieldnames.
然而,在我的第一行中,我面临着这样的问题:

格式:header1 header2 header3…等

格式:需要跳过,因为它不是列标题。我可以这样做:

column_headers = ['header1', 'header2', 'header3']
reader = csv.dictReader(my_file, delimiter='\t', fieldnames=column_headers)
但我宁愿让听写器来处理这个问题,原因有二

有很多专栏

列名可能会随着时间的推移而改变,这是一个每季度运行一次的过程


有没有办法让DictReader仍然使用第一行作为列标题,但跳过第一种格式:word?或者任何以a开头的单词都可能就足够了。

当DictReader包装一个打开的文件时,您可以读取文件的第一行,从中解析标题headers=my_file.readline.splitdelimiter[1:],或者类似的内容,然后将它们作为fieldnames参数传递给DictReader。DictReader构造函数不会重置文件,因此您不必担心解析后会在标题列表中读取该文件。

当DictReader包装打开的文件时,您可以读取文件的第一行,从那里解析标题headers=my_file.readline.splitdelimiter[1:],或者类似的内容,然后将它们作为fieldnames参数传递给DictReader。DictReader构造函数不会重置文件,因此您不必担心解析后会在标题列表中读取该文件。

Nice我喜欢这样。我想我可以在那里的某个地方放一个lambda,但这更直接,可能也更干净,泰。很好,我喜欢这个。我想我可以在那里的某个地方放一个lambda,但这更直接,可能也更干净,泰。