CSVのソート部&新CSVの作成、pandas
を使ってこんな感じで書けます
Python
1import os
2import glob
3import pandas as pd
4
5files = glob.glob('./test/*.csv')
6for file in files:
7 outfile = os.path.join('out',os.path.basename(file))
8 df = pd.read_csv(file)
9 df.sort_values('A').to_csv(outfile, index=None)
【追記】
質問のように、コマンドライン引数を取りたい場合はこんな感じ
Python
1import os
2import glob
3from argparse import ArgumentParser
4import pandas as pd
5
6def sort_all_csv(in_folder, out_folder):
7 files = glob.glob(os.path.join(in_folder, '*.csv'))
8 for file in files:
9 outfile = os.path.join(out_folder, os.path.basename(file))
10 df = pd.read_csv(file)
11 df.sort_values('A').to_csv(outfile, index=None)
12
13if __name__ == '__main__':
14 parser = ArgumentParser()
15 parser.add_argument('-d', type=str, default="./test")
16 parser.add_argument('-o', type=str, default="./out")
17 arg = parser.parse_args()
18 sort_all_csv(arg.d, arg.o)
19