csv.Dictwriter因此被实例化:
class csv.DictWriter(csvfile, fieldnames, restval='', extrasaction='raise', dialect='excel', *args, **kwds)
fieldsnames
是一系列键,或者就我而言,是一个词典。
这是我的问题;在使用某个字典实例化DictWriter之后,我希望在调用fieldnames
之前删除writerow()
的一些键(以及扩展名,值)。由于我不打算进入的原因,我只能告诉代码在实例化 DictWriter
之后移除的键。 Dict只有3种方法:
writerheader
writerow
writerows
..没有任何帮助。根据我的测试,似乎在实例化DictWriter
时,它会根据fieldnames
设置csv-to-be的列名。实例化后对fieldnames
所做的任何更改都不会影响将生成的列标题。因为DictWriter在实例化时定义了列,我是否坚持使用这些列?或者有办法解决这个问题吗?
答案 0 :(得分:1)
假设你有一个像 -
这样的词典d = {'a': 1, 'b': 2, 'c': 3, 'd': 4}
然后您可以按如下方式使用csv.writer:
f = open('abc.csv', 'wb')
csv_writer = csv.writer(f, dialect=csv.excel, delimiter=',', quotechar='"', quoting=csv.QUOTE_ALL)
for row in rows:
csv_writer.writerow([row['b'], row['c']) # Assuming we dont want keys 'a' and 'b' to be written
f.close()