Dataframe をset_with_dataframeで貼り付ける場所をスプレッドシートのA1以外にしたいのですが、可能でしょうか?
A1セルに貼る方法を見つけられず今は以下で実装しています。
ただ以下だとどうしても十数万行のデータだと時間がかかり、set_with_dataframeならすぐ終わるので
指定したシートのG1セルを基準にDataFrameを一発で貼る方法はないでしょうか?
Python
1 2df = 作成したデータフレーム 3 4#貼り付けの基準となるセル 5start_cell = 'G1' 6start_cell_col = re.sub(r'[\d]', '', start_cell) 7start_cell_row = int(re.sub(r'[\D]', '', start_cell)) 8 9alpha2num = lambda c: ord(c) - ord('A') + 1 10 11# 展開を開始するセルからA1セルの差分 12row_diff = start_cell_row-1 13col_diff = alpha2num(start_cell_col)-alpha2num('A') 14 15col_lastnum = len(df.columns) # DataFrameの列数 16row_lastnum = len(df.index) # DataFrameの行数 17 18start = time.time() 19cell_list = pastesheet.range(start_cell+':'+toAlpha(col_lastnum+col_diff)+str(row_lastnum+1+row_diff)) 20for cell in cell_list: 21 if cell.row == 1+row_diff: 22 val = df.columns[cell.col-(1+col_diff)] 23 else: 24 val = df.iloc[cell.row-(2+row_diff)][cell.col-(1+col_diff)] 25 cell.value = val 26pastesheet.update_cells(cell_list)
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。