質問するログイン新規登録

回答編集履歴

2

d

2020/05/20 03:30

投稿

tiitoi
tiitoi

スコア21960

answer CHANGED
@@ -45,4 +45,13 @@
45
45
  writer = csv.DictWriter(f, fieldnames=header)
46
46
  writer.writeheader() # ヘッダーを書き込む
47
47
  writer.writerows(output_data) # データを書き込む
48
+ ```
49
+
50
+ 出力結果
51
+
52
+ ```csv
53
+ Name,Age,Point
54
+ Alice,40,80
55
+ Bob,20,60
56
+ Charlie,30,70
48
57
  ```

1

d

2020/05/20 03:30

投稿

tiitoi
tiitoi

スコア21960

answer CHANGED
@@ -23,4 +23,26 @@
23
23
 
24
24
  > 参考にした記事が良くないのでしょうか?
25
25
 
26
- おかしいので別のサイトを参考にしたほうがいいと思います。
26
+ おかしいので別のサイトを参考にしたほうがいいと思います。
27
+
28
+ ## 追記
29
+
30
+ コメントのような辞書のリストになっているのであれば、[csv.DictWriter](https://docs.python.org/ja/3/library/csv.html#csv.DictWriter) を使えば、変換なしにそのまま書き込めます。
31
+
32
+ ```python
33
+ import csv
34
+
35
+ output_data = [
36
+ {"Name": "Alice", "Age": 40, "Point": 80},
37
+ {"Name": "Bob", "Age": 20, "Point": 60},
38
+ {"Name": "Charlie", "Age": 30, "Point": 70},
39
+ ]
40
+
41
+ header = list(output_data[0].keys()) # 列の順番を規定
42
+ print(header) # ['Name', 'Age', 'Point']
43
+
44
+ with open("output.csv", "w", newline="") as f:
45
+ writer = csv.DictWriter(f, fieldnames=header)
46
+ writer.writeheader() # ヘッダーを書き込む
47
+ writer.writerows(output_data) # データを書き込む
48
+ ```