gpt4 book ai didi

Python:将元组写成 DictWriter 行的最干净的方法?

转载 作者:行者123 更新时间:2023-11-28 21:50:58 24 4
gpt4 key购买 nike

给定:

with open('results.csv', 'wb') as csvfile:
fieldnames = ['Name', 'Address', '#Reviews']
writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
writer.writeheader()
writer.writerow(row)

还有一个元组列表,每个元组都包含名称、地址和#reviews,例如

[('Name2', 'Main St', 2), ('Name2', 'The Hill', 7), ('Name1', 'The Square', 14)]

我正在尝试使用 writer.writerow() 将每个元组写成 csv 中的一行。我可以为每个元组创建一个字典,因此:

In [95]: for tup in z:
....: row = {"Name": tup[0], "Address": tup[1], "#Reviews": tup[2]}
....: print row

但是 (i) 它很复杂,更重要的是 (ii) 顺序在 dict 创建中丢失,并且顺序将与 fieldnames 的顺序不匹配。

我可以使用 OrderedDict(),但这又显得有点令人费解。

实现此目标的更简洁/更简短的方法是什么?

最佳答案

如果您的数据未格式化为 dict,您为什么要使用 DictWriter?只需使用普通的 csv.writer:

with open('results.csv', 'wb') as csvfile:
fieldnames = ['Name', 'Address', '#Reviews']
writer = csv.writer(csvfile)
writer.writerow(fieldnames)
writer.writerows(z) # z is a list of all rows to write

更简单、更快且代码更少。

关于Python:将元组写成 DictWriter 行的最干净的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31093078/

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