我正在尝试找出在写入后如何使用xlwings保存和关闭现有工作簿的方法:
import xlwings as xw
list_of_values = [1, 2, 3]
workbook_path = 'abc.xlsx'
wb = xw.Book(workbook_path)
ws = wb.sheets['sheet1']
ws.range('E35').value = list_of_values
wb.save()
wb.close()
当我进入wb.save(workbook_path)
时,提示您:
该位置已存在“名为abc.xlsx的文件”。
您要更换它吗?'
我想立即覆盖文件而不会出现提示。根据文档,wb.save()
应该自动覆盖(请参阅:https://docs.xlwings.org/en/v0.6.4/api.html)。我也尝试过wb.save(workbook_path)
,但仍然出现弹出窗口。
请对此提供任何帮助。
p.s。 -我基本上是想将数据写入预先格式化的Excel工作表中。如果还有其他方法可以保留格式,我将很乐于尝试。我已经尝试过,但是它在if newCell
上引发了错误:Easily write formatted Excel from Python: Start with Excel formatted, use it in Python, and regenerate Excel from Python
答案 0 :(得分:1)
在指定wb.save()
的路径时,可能需要指定完整路径:
path
(str,默认为None)–工作簿的完整路径。
它将保存文件并覆盖而不提示。从他们的文档中:
>>> from xlwings import Workbook >>> wb = Workbook() >>> wb.save() >>> wb.save(r'C:\path\to\new_file_name.xlsx')