我正在使用xlrd,xlutils.copy并xlwt打开模板文件,复制它,用新值填充它并保存.
但是,似乎没有任何简单的方法来保留单元格的格式; 它总是被吹走,并被设置为空白.有什么简单的方法可以做到这一点吗?
谢谢!/ YGA
示例脚本:
from xlrd import open_workbook
from xlutils.copy import copy
rb = open_workbook('output_template.xls',formatting_info=True)
rs = rb.sheet_by_index(0)
wb = copy(rb)
ws = wb.get_sheet(0)
for i,cell in enumerate(rs.col(8)):
if not i:
continue
ws.write(i,2,22,plain)
wb.save('output.xls')
Run Code Online (Sandbox Code Playgroud)
版本:
xlrd:0.7.1xlwt:0.7.2我试图找出如何在写入后使用 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()
Run Code Online (Sandbox Code Playgroud)
当我到达 时wb.save(workbook_path),出现提示:“此位置已存在名为 abc.xlsx 的文件”。你想更换它吗?
我想立即覆盖该文件而不出现提示。根据文档,wb.save()应该自动覆盖(参见: https: //docs.xlwings.org/en/v0.6.4/api.html)。我也试过了wb.save(workbook_path),但是还是出现弹窗。
感谢对此的任何帮助。
ps - 我基本上试图将数据写入预先格式化的 Excel 工作表中。如果有其他方法可以保留格式,我很乐意尝试。我已经尝试过这个,但它抛出一个错误if newCell:Easy write formatted Excel from Python: Start with Excel formatted, use it in Python, and regenerate Excel from Python