回答編集履歴

1

コマンドライン引数取得部を追記

2017/07/07 14:28

投稿

magichan
magichan

スコア15898

test CHANGED
@@ -1,4 +1,4 @@
1
- とりあえずフォルダ名固定ですが、``pandas``を使ってこんな感じで書けます
1
+ CSVのソート部&新CSVの作成、``pandas``を使ってこんな感じで書けます
2
2
 
3
3
 
4
4
 
@@ -23,3 +23,59 @@
23
23
  df.sort_values('A').to_csv(outfile, index=None)
24
24
 
25
25
  ```
26
+
27
+
28
+
29
+ ---
30
+
31
+ **【追記】**
32
+
33
+
34
+
35
+ 質問のように、コマンドライン引数を取りたい場合はこんな感じ
36
+
37
+
38
+
39
+ ```Python
40
+
41
+ import os
42
+
43
+ import glob
44
+
45
+ from argparse import ArgumentParser
46
+
47
+ import pandas as pd
48
+
49
+
50
+
51
+ def sort_all_csv(in_folder, out_folder):
52
+
53
+ files = glob.glob(os.path.join(in_folder, '*.csv'))
54
+
55
+ for file in files:
56
+
57
+ outfile = os.path.join(out_folder, os.path.basename(file))
58
+
59
+ df = pd.read_csv(file)
60
+
61
+ df.sort_values('A').to_csv(outfile, index=None)
62
+
63
+
64
+
65
+ if __name__ == '__main__':
66
+
67
+ parser = ArgumentParser()
68
+
69
+ parser.add_argument('-d', type=str, default="./test")
70
+
71
+ parser.add_argument('-o', type=str, default="./out")
72
+
73
+ arg = parser.parse_args()
74
+
75
+ sort_all_csv(arg.d, arg.o)
76
+
77
+
78
+
79
+ ```
80
+
81
+