回答編集履歴

4

d

2019/03/18 15:39

投稿

tiitoi
tiitoi

スコア21956

test CHANGED
@@ -66,7 +66,11 @@
66
66
 
67
67
 
68
68
 
69
+ 入力
70
+
71
+ test.csv
72
+
69
- ```python
73
+ ```csv
70
74
 
71
75
  日時,開催場所,主催会社,対応部署
72
76
 
@@ -81,3 +85,25 @@
81
85
  2017/3/5,KObe,M銀行,総務部
82
86
 
83
87
  ```
88
+
89
+
90
+
91
+ 出力
92
+
93
+ sorted_data.csv
94
+
95
+ ```csv
96
+
97
+ 日時,開催場所,主催会社,対応部署
98
+
99
+ 2017/3/3,Tokyo,S信託,総務部
100
+
101
+ 2017/3/4,Tokyo,M銀行,総務部
102
+
103
+ 2017/3/4,Tokyo,S銀行,総務部
104
+
105
+ 2017/3/5,Tokyo,N証券,総務部
106
+
107
+ 2017/3/5,KObe,M銀行,総務部
108
+
109
+ ```

3

d

2019/03/18 15:39

投稿

tiitoi
tiitoi

スコア21956

test CHANGED
File without changes

2

d

2019/03/18 15:36

投稿

tiitoi
tiitoi

スコア21956

test CHANGED
@@ -59,3 +59,25 @@
59
59
  writer.writerows(data)
60
60
 
61
61
  ```
62
+
63
+
64
+
65
+ こちらで動作確認に使用した csv ファイル
66
+
67
+
68
+
69
+ ```python
70
+
71
+ 日時,開催場所,主催会社,対応部署
72
+
73
+ 2017/3/4,Tokyo,M銀行,総務部
74
+
75
+ 2017/3/4,Tokyo,S銀行,総務部
76
+
77
+ 2017/3/3,Tokyo,S信託,総務部
78
+
79
+ 2017/3/5,Tokyo,N証券,総務部
80
+
81
+ 2017/3/5,KObe,M銀行,総務部
82
+
83
+ ```

1

d

2019/03/18 15:36

投稿

tiitoi
tiitoi

スコア21956

test CHANGED
@@ -8,10 +8,54 @@
8
8
 
9
9
 
10
10
 
11
- df = pd.read_csv('data.csv', parse_dates=['日時'])
11
+ df = pd.read_csv('test.csv', parse_dates=['日時'], encoding='shift-jis')
12
12
 
13
13
  df = df.sort_values('日時')
14
14
 
15
15
  df.to_csv('sorted_data.csv', index=False)
16
16
 
17
17
  ```
18
+
19
+
20
+
21
+
22
+
23
+ ## 追記
24
+
25
+
26
+
27
+ csv モジュールを使うやり方
28
+
29
+
30
+
31
+ ```python
32
+
33
+ import csv
34
+
35
+ from datetime import datetime as dt
36
+
37
+
38
+
39
+ data = []
40
+
41
+ with open('test.csv', encoding='shift-jis') as f:
42
+
43
+ reader = csv.reader(f)
44
+
45
+ header = next(reader)
46
+
47
+ data = list(reader)
48
+
49
+
50
+
51
+ data = sorted(data, key=lambda x: dt.strptime(x[0], '%Y/%m/%d'))
52
+
53
+ with open('sorted_data.csv', 'w') as f:
54
+
55
+ writer = csv.writer(f)
56
+
57
+ writer.writerow(header)
58
+
59
+ writer.writerows(data)
60
+
61
+ ```