[Python] 227 CSVファイルを縦方向に結合する

CSVファイルを縦方向に結合するコードです。

縦方向に結合する場合は読み込み時にheader=Noneを付けて、書き込み時にheader=Falseを付けます。

headerがないと列インデックスが自動的に付加されるため、これに従ってデータが縦方向に並びます。

横方向に結合する場合は読み込み時、書き込み時ともにheaderオプションはいらないはずです。

なおformat文字列はかつての名残りです。

# filenameNとfilenamePを縦方向に結合する
# 最初にfilenameNのみのCSVファイルを作成し、結合したファイルで上書きする
# この方法ではfilenamePが存在しなくてもfilenameNのみのファイルが結合ファイルとして残る
# else以下は1つ上の階層に置く方が良いと思ったが、検証ではNGだったのでこれで仮確定させた

files = [filenameN , filenameP]

row_list = []
for file in files:
    try:
        row_list.append(pd.read_csv(file,header= None,encoding='Shift_JIS'))

    except FileNotFoundError:
        print('FileNotFoundError')
        print(f'ファイルがありません {file}')

    else:
        df = pd.concat(row_list, sort=False)

        filename = filename_horse(str(year),str(thousand),str('{0:05d}'.format(horse_number)))

        with open(filename, mode="w", encoding="cp932", errors="ignore") as f:
            df.to_csv(f,index= False,header= False)