データフレームに読み込まれ、forward fill (ffill) メソッドが適用されたワークシートがあります。
次に、2 つのワークシートを含む単一の Excel ドキュメントを作成したいと思います。
1 つのワークシートには、ffill メソッドが適用される前のデータフレーム内のデータが含まれ、次のワークシートには、ffill メソッドが適用されたデータフレームが含まれます。
最終的には、データフレームの特定の列にあるデータの一意のインスタンスごとに 1 つのワークシートを作成するつもりです。
次に、結果に VBA フォーマットを適用したいと思いますが、見出しを太字にフォーマットしたり、色を追加したりするために、Python を使用して Excel VBA を呼び出すために必要な DLL やアドオンなどがわかりません。
xlsxwriter が新しいワークブックを作成し、シートを追加するという点では部分的に成功しましたが、作成されたワークブックでは dataframe.to_excel 操作が機能しないようで、ワークブックは開きますが、シートは空白です。
import os
import time
import pandas as pd
import xlwt
from xlwt.Workbook import *
from pandas import ExcelWriter
import xlsxwriter
#set folder to import files from
path = r'path to some file'
#folder = os.listdir(path)
#for loop goes here
#get date
date = time.strftime('%Y-%m-%d',time.gmtime(os.path.getmtime(path)))
#import excel document
original = pd.DataFrame()
data = pd.DataFrame()
original = pd.read_excel(path,sheetname='Leave',skiprows=26)
data = pd.read_excel(path,sheetname='Leave',skiprows=26)
print (data.shape)
data.fillna(method='ffill',inplace=True)
#the code for creating the workbook and worksheets
wb= Workbook()
ws1 = wb.add_sheet('original')
ws2 = wb.add_sheet('result')
original.to_excel(writer,'original')
data.to_excel(writer,'result')
writer.save('final.xls')
ベストアンサー1
import pandas as pd
df1 = pd.DataFrame({'Data': ['a', 'b', 'c', 'd']})
df2 = pd.DataFrame({'Data': [1, 2, 3, 4]})
df3 = pd.DataFrame({'Data': [1.1, 1.2, 1.3, 1.4]})
with pd.ExcelWriter('multiple.xlsx', engine='xlsxwriter') as writer:
df1.to_excel(writer, sheet_name='Sheeta')
df2.to_excel(writer, sheet_name='Sheetb')
df3.to_excel(writer, sheet_name='Sheetc')