ディレクトリとファイルは以下とします。
01 ---ww0000.csv
| ---ww0001.csv
02 ---ww0222.csv
| ---ww0555.csv
test.py
|
test.xlsx
各csvファイルはここでは全部たまたま同じ以下のテーブルと仮定します。
1 1 1
2 2 2
3 3 3
4 4 4
やりたいことはすべてのcsvファイルから1行目と4行目を抽出(行は自由に指定できる)。
それらの先頭にファイル名を付す(できればwwは削除したいです)。
その後、以下のように全てを結合して1つのxlsxに書き出す、です。
ww0000,1,1,1
ww0000,4,4,4
ww0001,1,1,1
ww0001,4,4,4
ww0222,1,1,1
ww0222,4,4,4
ww0555,1,1,1
ww0555,4,4,4
全てのcsvファイルの指定行を結合してエクセルに書き出すことはできましたがファイル名を付けられません。ご助力頂けますと幸いです。
python
1import glob 2import openpyxl 3import pandas as pd 4 5path = 「ディレクトリ01と02の階層までのパス」 6allfiles = glob.glob(path + '/*/*.csv') 7frame = pd.DataFrame() 8list_ = [] 9 10n = 0 11a = n + 1 12b = n + 4 13 14for file_ in allfiles: 15 df = pd.read_csv(file_,sep='delimiter',index_col=None,header=None,engine='python') 16 df_row = df.ix[[a,b],:] 17 list_.append(df_row) 18frame = pd.concat(list_) 19frame.to_excel(「test.xlsxへのパス」,header=False,index=False)
欲を言えば、(抽出された行-変数nに入れた値)の差がファイル名とテーブルデータの間(先頭でもお尻でも構いません)に入ると理想的なのですが、、、先ずはファイル名を加えたいです。
宜しくお願いします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。