如何在openpyxl进行更改时观察Excel文件的更改

2024-04-19 19:24:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我构建了一个iOS应用程序,它接受用户的输入,然后将他们的数据作为.csv文件上传到dropbox。在

现在,我想构建一个跨平台的桌面应用程序,它使用openpyxl和Python dropbox api来监听这些.csv上传,然后将这些.csv文件中的数据写入各种.xlsx工作簿。我对此没有异议,只是我的客户希望能够在桌面上看到excel工作簿的变化。在

每当我用openpyxl做作业,比如。。。在

wb = load_workbook("sample.xlsx") #load an existing .xlsx file
ws = wb.active #get active worksheet
ws['A1'] = 12 #assign data to cell A1

。。。然后运行这个脚本将成功地改变文件,但是我必须关闭然后打开文件来查看更改,而不是在更改发生时观察更改的发生。在

所以,我的问题是,如何观察openpyxl对excel工作簿所做的更改,以及是否有一个跨平台的解决方案?我们很感激有其他方法来解决这个问题!在

我对这方面的研究已经持续了几个小时,而我提出的最好的方法是AppleScript和pywin32的混合体,但这可能会让它变得非常难看!在

我非常感谢你的帮助!在


Tags: 文件csv数据方法应用程序wsa1跨平台
1条回答
网友
1楼 · 发布于 2024-04-19 19:24:54

我认为你做这件事不容易。Excel文件本身就是简单的zip归档文件,这使得监控变得非常困难,因为您无法就地修改zip文件:您总是要创建一个新的归档文件。这正是Excel使用文件锁定的原因。在

在我看来,你需要某种外部数据源,Excel本身可以监控和集成这些数据源。您可能需要查看xlwings以进行在位编辑。或者,也可以使用openpyxl创建外部数据源。它可以处理外部文件。在

相关问题 更多 >