回答編集履歴

1

CSVファイルの1行目がヘッダー行の場合を例として修正。文中の表現も修正。

2019/10/17 08:20

投稿

dodox86
dodox86

スコア9183

test CHANGED
@@ -1,6 +1,8 @@
1
- 2列目の「コスト」が文字列で扱われ、辞書順でソートされている為ですね。
1
+ 2列目のデータ項目「コスト」部分が文字列で扱われ、辞書順でソートされている為ですね。
2
2
 
3
3
  以下のようなコードではいかがでしょうか。2列目を整数に直してからソートするようにします。
4
+
5
+ また、CSVファイルの1行目はヘッダー行であることを前提とします。
4
6
 
5
7
 
6
8
 
@@ -20,6 +22,12 @@
20
22
 
21
23
 
22
24
 
25
+ # 1行目にヘッダーが存在する場合、nextで読み飛ばす
26
+
27
+ header = next(file)
28
+
29
+
30
+
23
31
  rows = [[row[0], int(row[1])] for row in file]
24
32
 
25
33
 
@@ -32,13 +40,13 @@
32
40
 
33
41
  ```
34
42
 
35
-
36
-
37
43
  上記ファイルをt1.py とした、実行結果です。
38
44
 
39
45
  ```bash
40
46
 
41
47
  $ cat default.csv
48
+
49
+ 出発_中間点,コスト
42
50
 
43
51
  1_1,10
44
52