Python 大量のcsvファイルを縦に結合したい場合

詳しい説明や動作は別のサイト様に任せて「とりあえず動かしてぇ!」という方向けです。

※pyファイルとcsvファイルが同フォルダにある事が前提

※データ整形などしていないので、綺麗なデータをとりあえずくっつけたい方向け

これが一番うまくいったもの、とりあえず動く

import pandas as pd
import glob
csv_files = glob.glob('*.csv')
list = []#リストの初期化
for file in csv_files: #←ここに代入 →この数分繰り返す
    list.append(pd.read_csv(file,encoding="cp932"))#リストにcsvファイルを追加していく

df = pd.concat(list)
df.to_csv("total.csv",index=False,encoding="cp932")

一応、動作説明

1、globでフォルダ内の.csvファイルの情報を取得

2、リストの宣言(入れモノを用意しないとね)

3、globで取得したファイル数分の操作のくりかえし+リストにファイルを追加していく

4、結合、今回はtotalって名前にして同フォルダに出力

関連リンク 【エラー】UnicodeDecodeError: ‘shift_jis’ codec can’t decode byte 0x87 in position 3340: illegal multibyte sequence が出た場合

コメント

タイトルとURLをコピーしました