回答編集履歴

2

d

2020/05/20 03:30

投稿

tiitoi
tiitoi

スコア21956

test CHANGED
@@ -93,3 +93,21 @@
93
93
  writer.writerows(output_data) # データを書き込む
94
94
 
95
95
  ```
96
+
97
+
98
+
99
+ 出力結果
100
+
101
+
102
+
103
+ ```csv
104
+
105
+ Name,Age,Point
106
+
107
+ Alice,40,80
108
+
109
+ Bob,20,60
110
+
111
+ Charlie,30,70
112
+
113
+ ```

1

d

2020/05/20 03:30

投稿

tiitoi
tiitoi

スコア21956

test CHANGED
@@ -49,3 +49,47 @@
49
49
 
50
50
 
51
51
  おかしいので別のサイトを参考にしたほうがいいと思います。
52
+
53
+
54
+
55
+ ## 追記
56
+
57
+
58
+
59
+ コメントのような辞書のリストになっているのであれば、[csv.DictWriter](https://docs.python.org/ja/3/library/csv.html#csv.DictWriter) を使えば、変換なしにそのまま書き込めます。
60
+
61
+
62
+
63
+ ```python
64
+
65
+ import csv
66
+
67
+
68
+
69
+ output_data = [
70
+
71
+ {"Name": "Alice", "Age": 40, "Point": 80},
72
+
73
+ {"Name": "Bob", "Age": 20, "Point": 60},
74
+
75
+ {"Name": "Charlie", "Age": 30, "Point": 70},
76
+
77
+ ]
78
+
79
+
80
+
81
+ header = list(output_data[0].keys()) # 列の順番を規定
82
+
83
+ print(header) # ['Name', 'Age', 'Point']
84
+
85
+
86
+
87
+ with open("output.csv", "w", newline="") as f:
88
+
89
+ writer = csv.DictWriter(f, fieldnames=header)
90
+
91
+ writer.writeheader() # ヘッダーを書き込む
92
+
93
+ writer.writerows(output_data) # データを書き込む
94
+
95
+ ```