gpt4 book ai didi

Python CSV DictReader 忽略列?

转载 作者:太空狗 更新时间:2023-10-30 01:43:54 25 4
gpt4 key购买 nike

如果我使用 CSV.dictReader 读取 CSV,我该如何让它忽略 CSV 中的某些列?

例如,

"id","name","address","number","created"
"123456","someName","someAddress","someNumber","2003-5-0294"

我只想使用读取器获取 ID 和名称,丢弃并忽略其余部分。我尝试使用字段名,但它仍然读取它并将其设置为“无”。我注意到 csv.DictWriter 有一个“忽略”功能,但 DictReader 似乎没有。希望有一种更优雅的方式来做到这一点,而不是仅仅读取然后只将我想要的列写入另一个 CSV,然后使用 DictReader 读取该 CSV 以进行进一步处理。

谢谢大家!

最佳答案

这个简单的生成器就可以做到。

def dict_filter(it, *keys):
for d in it:
yield dict((k, d[k]) for k in keys)

像这样使用它:

dreader = [{'id':1, 'name':'Bob', 'other_stuff':'xy'},
{'id':2, 'name':'Jen', 'other_stuff':'xx'}]

for d in dict_filter(dreader, 'id', 'name'):
print d

给出:

{'id': 1, 'name': 'Bob'}
{'id': 2, 'name': 'Jen'}

关于Python CSV DictReader 忽略列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7880391/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com