我有一个工作表,我已经读入到一个 Dataframe 和应用的向前填充(ffill)方法。
然后,我想创建一个包含两个工作表的Excel文档。
一个工作表将具有应用填充方法之前的 Dataframe 中的数据,而下一个工作表将具有应用了填充方法的 Dataframe 。
最后,我打算为 Dataframe 的某列中的每个唯一数据示例创建一个工作表。
然后,我想应用一些VBA格式的结果-但我不知道哪个DLL或插件或东西,我需要调用excel vba使用python格式的标题为粗体和添加颜色等。
我已经取得了部分成功,因为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')
4条答案
按热度按时间ttisahbt1#
lpwwtiir2#
除了需要创建
writer
对象并且不需要使用add_sheet()
方法之外,示例代码几乎是正确的。Pandas
DataFrame.to_excel()
文档的末尾显示了正确的语法。另请参见Working with Python Pandas and XlsxWriter。
2w2cym1i3#
根据
pandas documentation
更多详情,请点击此处:official docs
rjzwgtxy4#
如果需要,可以使用循环创建更多图纸:
它将在一个工作簿中生成sheet0、sheet1 ......等(当然,您可以通过修改“sheet_name”来命名任何工作表),这意味着在单个.xlsx文件中。
希望能帮到你。