我在 python 中有一个 Counter 集合,看起来像
C = [
('a', [10, 15]),
('b', [20, 23]),
('c', [11, 55])
...
]
我想将此集合写入一个 csv 分隔文件,如下所示
letter property1 property2
a 10 15
b 20 23
c 11 55
我查看了堆栈溢出,大多数人都尝试一次只将字典输出到 csv 一行。这可能不适用于我。我应该如何处理我的案例?
最佳答案
您可以创建一个新的列表列表,将列表的第二个元素连接到包含列表第一个元素的列表。然后你就可以使用csv.writer
and writerows()
将这些列表写入文件的方法。
import csv
D = [ [x[0]] + x[1] for x in C ]
with open(filename, 'w') as f:
writer = csv.writer(f)
writer.writerows(D)
行D = [ [x[0]] + x[1] for x in C ]
可以进行一些解释。
[x[0]]
将 C
元素的第一个元素放入自己的列表中,然后 + x[1]
获取列表的第二个元素并将其添加到我们刚刚创建的列表的末尾。因此,对于示例中的第一个元素 ('a', [10, 15])
: [x[0]]
是包含字符串 ' 的列表a'
或 ['a']
。 x[1]
是列表[10, 15]
。 +
运算符连接列表。因此,如果我们连接 ['a'] + [10, 15]
我们会得到 ['a', 10, 15]
,它将按照您的要求写入 csv 。
关于python - 如何在 python 中将数组集合写入 csv 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34442352/