回答編集履歴

2

表記揺れ

2018/09/27 03:58

投稿

LouiS0616
LouiS0616

スコア35658

test CHANGED
@@ -98,7 +98,7 @@
98
98
 
99
99
  もう一度書きますが、
100
100
 
101
- **レコードの要素数が常に一つなのであれば、CSVモジュールの利用に拘る理由は全く無いです。**
101
+ **レコードの要素数が常に一つなのであれば、csvモジュールの利用に拘る理由は全く無いです。**
102
102
 
103
103
 
104
104
 

1

追記

2018/09/27 03:58

投稿

LouiS0616
LouiS0616

スコア35658

test CHANGED
@@ -38,6 +38,70 @@
38
38
 
39
39
 
40
40
 
41
+ コメントを受けて
42
+
43
+ ---
44
+
45
+ こんな感じで書けます。
46
+
47
+ ```Python
48
+
49
+ a_list = []
50
+
51
+ for i in span[:-1]:
52
+
53
+ value = float(i.string)
54
+
55
+ a_list.append([value, ])
56
+
57
+
58
+
59
+ with open('some.csv', 'w') as fout:
60
+
61
+ writer = csv.writer(fout)
62
+
63
+ writer.writerows(a_list)
64
+
65
+ ```
66
+
67
+
68
+
69
+ **変更点:**
70
+
71
+ 0. **spanではなくspan[:-1]を巡回**
72
+
73
+ データ『応談』が邪魔なのでアドホックに対応。
74
+
75
+ 0. **i.stringをfloatにキャスト**
76
+
77
+ 数値は数値として扱うのがトラブルが少ないです。
78
+
79
+ ただし誤差が発生するので、どうしてもそれを避けたい場合は文字列でも良いです。
80
+
81
+ 0. **a_listにデータを加える際、要素数1のリストにした**
82
+
83
+ csvとして扱う以上は、1レコードに与える内容はシーケンスにしないと。
84
+
85
+ 0. **a_listの作成を一つ目のループに移動**
86
+
87
+ ループを分ける必要がないです。
88
+
89
+ 0. **with文の利用**
90
+
91
+ 一般的にリソースの開閉にはコンテキストマネージャを使うのが常道です。
92
+
93
+ 0. **writer.writerowではなくwriter.writerowsを利用**
94
+
95
+ 複数行書き込むので。
96
+
97
+
98
+
99
+ もう一度書きますが、
100
+
101
+ **レコードの要素数が常に一つなのであれば、CSVモジュールの利用に拘る理由は全く無いです。**
102
+
103
+
104
+
41
105
  コードの書き方について
42
106
 
43
107
  ---