前提・実現したいこと
pythonのpandas dataframe のデータを指定EXCELファイルにデータを移したいです。
EXCELファイルは.xlsmです。
発生している問題・エラーメッセージ
該当ソースコード①のエラー
AttributeError: 'MergedCell' object attribute 'value' is read-only
該当ソースコード②のエラー
PermissionError: [Errno 13] Permission denied:'C:\Users\XXXX\Documents\XXXX.xlsm'
該当のソースコード
共通コード
import xlwings as xw import os import gspread from gspread_dataframe import get_as_dataframe, set_with_dataframe from oauth2client.service_account import ServiceAccountCredentials import pandas as pd import json import win32com.client import openpyxl as px import xlsxwriter from openpyxl.utils.dataframe import dataframe_to_rows from openpyxl.utils import get_column_letter path1 = r"C:\Users\XXXX\Documents\XXXX.xlsm" scope = ['https://spreadsheets.google.com/feeds', 'https://www.googleapis.com/auth/drive'] credentials = ServiceAccountCredentials.from_json_keyfile_name('ABCD.json', scope) gc = gspread.authorize(credentials) wb = px.load_workbook(path1) ws = wb['マスター'] wks = gc.open('123').worksheet('1234') spread = get_as_dataframe(wks,sheet_name=4,usecols=[2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19],index_col=0,skiprows=3)
該当ソースコード①
データ部分に結合された部分があると、書き込めないんでしょうか。
python
1rows = dataframe_to_rows(spread) 2 3for r_idx, row in enumerate(rows, 3): 4 for c_idx, value in enumerate(row, 3): 5 ws.cell(row=r_idx, column=c_idx, value=value)
該当ソースコード②
なぜ拒絶されているのか。
python
1spread.to_excel(path1)
試したこと
・to_excel
・dataframe_to_rows
補足情報(FW/ツールのバージョンなど)
Pandasを使い始めて間もない素人でそもそも.xlsmに書き込めるのか。という疑問がありますが、何か解決策があれば、ご教授宜しくお願い致します。
どのようなデータかは公開できませんが宜しくお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/10/30 12:55