概要
データを連結したい時にPythonで連結する方法を解説する。
csvデータ複数取得 → pythonでcsv連結
前準備
以下の方法で2年分のKDDIの株価データを取得し、csv化する。
データ
2019年のKDDIの株価データと2020年の株価データを連結する。
・2019年の株価データ
日付 | 始値 | 高値 | 安値 | 終値 | 出来高 | 終値調整 | |
0 | 2019-01-04 | 2,595 | 2,663 | 2,590.5 | 2,652.5 | 8,355,400 | 2,652.5 |
1 | 2019-01-07 | 2,698.5 | 2,706 | 2,640 | 2,643 | 7,101,300 | 2,643 |
2 | 2019-01-08 | 2,653 | 2,703.5 | 2,643.5 | 2,682.5 | 8,268,100 | 2,682.5 |
3 | 2019-01-09 | 2,682.5 | 2,687 | 2,640.5 | 2,667.5 | 6,805,200 | 2,667.5 |
4 | 2019-01-10 | 2,626 | 2,689.5 | 2,622 | 2,688.5 | 7,473,500 | 2,688.5 |
5 | 2019-01-11 | 2,709 | 2,711.5 | 2,656.5 | 2,665 | 7,831,200 | 2,665 |
6 | 2019-01-15 | 2,684.5 | 2,708 | 2,673.5 | 2,706 | 5,577,100 | 2,706 |
・2020年の株価データ
日付 | 始値 | 高値 | 安値 | 終値 | 出来高 | 終値調整 | |
0 | 2020-01-06 | 3,237 | 3,243 | 3,211 | 3,243 | 4,504,000 | 3,243 |
1 | 2020-01-07 | 3,250 | 3,273 | 3,238 | 3,271 | 4,604,200 | 3,271 |
2 | 2020-01-08 | 3,270 | 3,277 | 3,213 | 3,241 | 6,703,200 | 3,241 |
3 | 2020-01-09 | 3,241 | 3,300 | 3,234 | 3,295 | 4,647,000 | 3,295 |
4 | 2020-01-10 | 3,295 | 3,298 | 3,278 | 3,288 | 4,270,000 | 3,288 |
5 | 2020-01-14 | 3,280 | 3,299 | 3,277 | 3,283 | 4,701,600 | 3,283 |
6 | 2020-01-15 | 3,289 | 3,290 | 3,266 | 3,270 | 4,198,700 | 3,270 |
実装
CSV連結
globで「.csv」の拡張子を持ったファイル名を検索するし、ALL_Filesに格納する。
import os
import glob
import csv
import pandas as pd
#カレントディレクトリの取得
path=os.getcwd()
# フォルダ中のパスを取得
DATA_PATH = path+"/"
All_Files = glob.glob('{}*.csv'.format(DATA_PATH))
print(All_Files)
ALL_Filesに格納したcsvファイルを連結する。
# フォルダ中の全csvをマージ
list = []
for file in All_Files:
list.append(pd.read_csv(file))
df = pd.concat(list,ignore_index=True, sort=False,)
df.to_csv('kddi.csv',index=False)
結果
連結できていることを確認。
2019年の次に2020年のデータが連結されている。
240 | 2019-12-30 | 3,265 | 3,276 | 3,242 | 3,253 | 3,068,300 | 3,253 |
0 | 2020-01-06 | 3,237 | 3,243 | 3,211 | 3,243 | 4,504,000 | 3,243 |
コメント
[…] […]