python - ExcelWriter 没有输出
问题描述
我正在尝试使用 ExcelWriter 用从另一个文件读取的数据框替换/更新 Excel 工作簿中的工作表。如果我只是df.to_excel()
用来写出文件,它会按预期工作,但我也想将所有其他工作表保留在接收工作簿中。
我已经尝试了以下代码的几种不同迭代,但无论我使用 ExcelWriter 做什么,我的接收文件都不会更新或修改。
注意: 如果有影响,我尝试更新的工作表已经存在。也许我的 tkinter 小部件弄乱了这个过程,但如前所述,这个过程适用于一个简单的 df.to_excel() 命令。
代码:
import openpyxl
from openpyxl import load_workbook
import tkinter
from tkinter import filedialog
from tkinter import *
import xlrd
import pandas as pd
def openMasterFile():
root = Tk()
root.withdraw()
global masterfile
masterfile = filedialog.askopenfilename(initialdir = "C:\\Users\\...",
title = "Select master file", parent=root)
root.destroy()
#open new data
def openNewFile():
root=Tk()
root.withdraw()
global newfile
newfile = filedialog.askopenfilename(initialdir = "C:\\Users\\...",
title = "Select new file", parent=root)
root.destroy()
openMasterFile()
openNewFile()
data = pd.read_excel(newfile, "Partners")
book = openpyxl.load_workbook(masterfile)
with pd.ExcelWriter(masterfile, engine='openpyxl') as writer:
writer.book = book
writer.sheets = dict((ws.title, ws) for ws in book.worksheets)
data.to_excel(writer, sheet_name="Partners", engine='xlsxwriter', index=False)
writer.save()
解决方案
推荐阅读
- android - 重复的包 react-native
- reactjs - 如何在 ReactJS 中获取父组件内子组件的引用
- node.js - 在 package.json 中隐藏私有仓库的令牌
- reactjs - React.JS 整体性能提升
- jquery - 需要获取复选框行的值
- flutter - 颤振热重载不适用于平板电脑模拟器
- login - 如何手动/以编程方式在typo3中创建和登录前端用户(feuser)?
- asp.net - 使用 Ajax 表单调用更新网站的一部分
- azure - 解密 Azure Function App 操作机密
- python - 在 PyPlot 中按月-年绘制纪元列表的直方图,x 轴