プログラミング初心者です。
現在、google colabolatryでpythonの練習中の者です。
pythonを利用して1つのフォルダーにある大量のエクセルブックの一部分を抽出して1つのブックにまとめたいと思っております。
具体的には
決まった行 (例えばC2からC20)をフォルダーに入っているすべてのエクセルfileから抽出する。
C2からC20は行なのでそれを列に変換する。
行を列に変更して、それを順番に下に保存する具体的なコードがなく困っています。
ご教授、お願いします。
<追記編集>
ご不快に思われた方、大変申し訳ありませんでした。
質問方法が稚拙でした。
まずはgoogle driveに抽出したいデータが含まれたfileをuploadし、google colaboratoryからアクセスできるようにしています。
また、作成したデータをいれるフォルダーも作成しております。
これまで試行錯誤で作成したコードですが、
pip install openpyxl
import openpyxl
import glob
import os
from openpyxl import Workbook
抽出したいfileを設定
folderpath_before='/content/drive/My Drive/フォルダー名前'
sheet_name='Sheet1
#読み込みたい行を設定
row_num_value=3
#読み込みたい列の範囲を設定
for i in range(13,130):
col_num_value=i
#読み込んだあとに保存するフォルダーを設定
folderpath_after='/content/drive/My Drive/整理後のフォルダー'
#実行していくコードのつもり…
wb = Workbook()
#フォルダーからexcelファイルのみ抽出させる
files = sorted(glob.glob('/content/drive/My Drive/フォルダー名'+"/*.xlsx"))
new_ws = wb.active
count = 1
new_ws_values = []
for file in files:
filename, file_extension = os.path.splitext(file)
opened_file = openpyxl.load_workbook(file)
sheet = opened_file
new_ws_value = sheet.cell(row=row_num_value, column=col_num_value).value
new_ws_values.append(new_ws_value)
new_ws.cell(count, 2).value = new_ws_value
count += 1
としております。
あなたの回答
tips
プレビュー