用 python 覆盖 XLSX 中的数据

Overwriting data in XLSX with python

让我们假设一个 excel 文件 mismatch.xlsx 在 C: 驱动器

的特定位置

我想做的是先检查它是否存在,如果存在我想清除其中的所有数据并写入新数据

如果它根本不存在我想在特定位置创建一个新文件“mismatch.xlsx”并将数据写入其中

到目前为止,我可以创建一个新文件“mismatch.xlsx”并写入其中,但是如果我再次 运行 该程序,我会收到权限被拒绝的错误

这是我将数据写入“mismtach.xlsx”的代码(我使用过 xlsxwriter),我假设解决方案是一个简单的 'if' 循环来检查文件是否存在,但是我是 python 的新手,我不确定如何声明。

with xlsxwriter.Workbook('<location>/mismtach.xlsx') as workbook:
           worksheet = workbook.add_worksheet()
           worksheet2 = workbook.add_worksheet()
           worksheet3 = workbook.add_worksheet()
           
           for row_num , data in enumerate(mismatch_true):
                worksheet.write_row(row_num, 0, data)  
           for row_num2 , data2 in enumerate(semi):
                worksheet2.write_row(row_num2, 0, data2) 
           for row_num3 , data3 in enumerate(quarter):
               worksheet3.write_row(row_num3, 0, data3) 

错误:xlsxwriter.exceptions.FileCreateError:[Errno 13] 权限被拒绝: '(位置)/mismtach.xlsx'

这符合你的要求吗?

import os
import xlsxwriter

# Excel File Name
xlfile = "mismtach.xlsx"

# Excel File Exits Then Remove
if os.path.exists(xlfile):
    os.remove(xlfile)

# Create a workbook and add a worksheet.
workbook = xlsxwriter.Workbook(xlfile)
worksheet = workbook.add_worksheet()
worksheet2 = workbook.add_worksheet()
worksheet3 = workbook.add_worksheet()

# Iterate over the data and write it out row by row.
(your data)

# Close Workbook.
workbook.close(xlfile)