gpt4 book ai didi

python - 如何使用一些子项目格式化 csv

转载 作者:行者123 更新时间:2023-12-01 05:17:28 26 4
gpt4 key购买 nike

我想用一些子项目来格式化这个序列。

[{'name': 'foo', 'total_price' : 15, 'price': [4, 2, 4, 5]}, 
{'name': 'bar', 'total_price' : 10, 'price': [5, 2, 3]}]

我想在 Excel 中格式化它,如下所示:

+------+-------------+
| Name | Total Price |
+------+-------------+
| foo | 15 |
+------+-------------+
| | 4 |
+------+-------------+
| | 2 |
+------+-------------+
| | 4 |
+------+-------------+
| | 5 |
+------+-------------+
| bar | 10 |
+------+-------------+
| | 5 |
+------+-------------+
| | 2 |
+------+-------------+
| | 3 |
+------+-------------+

这就像显示总价中添加的金额是多少

到目前为止我所尝试的只是这样。

"Name","Total Price"
{% for item in items %} {{ item.name }},{{ item.total_price }} {% endfor %}

+------+-------------+
| Name | Total Price |
+------+-------------+
| foo | 15 |
+------+-------------+
| bar | 10 |
+------+-------------+

简而言之,我想将其格式化为上面的格式。任何帮助将非常感激。谢谢

最佳答案

连续写出名称和总价,然后添加各个价格的行:

for item in items:
csv_writer.writerow([item['name'], item['total_price']])
csv_writer.writerows(['', p] for p in item['price'])

演示:

>>> import csv
>>> from cStringIO import StringIO
>>> items = [{'name': 'foo', 'total_price' : 15, 'price': [4, 2, 4, 5]}, {'name': 'bar', 'total_price' : 10, 'price': [5, 2, 3]}]
>>> f = StringIO()
>>> csv_writer = csv.writer(f)
>>> for item in items:
... csv_writer.writerow([item['name'], item['total_price']])
... csv_writer.writerows(['', p] for p in item['price'])
...
>>> print f.getvalue()
foo,15
,4
,2
,4
,5
bar,10
,5
,2
,3

关于python - 如何使用一些子项目格式化 csv,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22960736/

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