相关疑难解决方法(0)

使用python的xlrd,xlwt和xlutils.copy保留样式

我正在使用xlrd,xlutils.copyxlwt打开模板文件,复制它,用新值填充它并保存.

但是,似乎没有任何简单的方法来保留单元格的格式; 它总是被吹走,并被设置为空白.有什么简单的方法可以做到这一点吗?

谢谢!/ 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.1
  • xlwt:0.7.2

python xlrd xlwt

54
推荐指数
2
解决办法
3万
查看次数

xlwings:保存并关闭

我试图找出如何在写入后使用 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 newCellEasy write formatted Excel from Python: Start with Excel formatted, use it in Python, and regenerate Excel from Python

python excel xlwings

7
推荐指数
1
解决办法
3万
查看次数

标签 统计

python ×2

excel ×1

xlrd ×1

xlwings ×1

xlwt ×1