前提・実現したいこと
Pythonにて
あるcsvにて日付を記入したものを抽出し
別のcsvデータのインデックスを検索しデータを抽出、csvに出力(もしくはPandas形式にしたい)
箇条書き
① CSV1→日付けのみが入っている(カラム"営業日"のみ)
② CSV2→CSV1で指定した日(複数)を元に行情報を抽出(CSV2はカラムが複数あるが"営業日"は同じ)
該当のソースコード
Python
1 2csv_files222 = glob.glob('./*.csv') 3list2 = []#リストの初期化 4for file in csv_files222: 5 list2.append(pd.read_csv(file,encoding="cp932"))#リストにcsvファイルを追加していく 6 7csv1 = pd.concat(list2)#リストをpandas化 8csv1_i = csv1.set_index("営業日") 9 10#----- 11oomoto = pd.read_csv("./csv2.csv",encoding="cp932") 12oomoto2=len(oomoto) 13stock=[] 14for i in range(oomoto2): 15 i+1#移動要素 16 oomotokurikaesi=oomoto.loc[i]#読み込んだpdを分解し変数に入れる 17 aaa=dff_i.loc[oomotokurikaesi]#同時に別のCSVから行を抽出し変数に代入 18 stock.append(aaa)#更に別の空リストに上のものを追加していく 19 20#ここから下は、上であまりにうまくいかないのでcsvで書き出してみました。 21with open('stock.csv', 'w') as file: 22 writer = csv.writer(file, lineterminator='\n') 23 writer.writerows(stock)
ここまでは一応コードは動作するのですが、全く思い通りではない動作です
結果的に出来上がったcsvを見ると
元ファイルで言うcolumnが回数分羅列されてしまっています
column column column column column column column
column column column column column column column
column column column column column column column
(こんな感じ・・・)
恐らく、.locで抽出しappendで追加する際、columnと本来ほしい数値の2次元になっている事で
writerで記述した際にcolumnのみ行追加されてしまっているのかと思われるのですが。。。
今の自分の知識ではここからどうしたら良いかわかりません・・・
宜しくお願い致します!
一応試したこと
aaaaaaaaaaaaaaa=pd.concat(aaa)
→first argument must be an iterable of pandas objects, you passed an object of type "DataFrame"
回答1件
あなたの回答
tips
プレビュー