我有一个脚本,它采用 pandas 数据框并将其分成几百块并将每个块保存为单独的 excel 文件。每个块将具有相同的列数,但行数会有所不同。我已经想出了如何使用 openpyxl 将所有其他必要的格式应用于这些文件,但我还没有确定应用边框的最快方法。另外,我认为我只是没有正确应用边框,因为下面的代码(我怀疑它不需要单独遍历每个单元格)没有应用任何边框。
from openpyxl.style import Border
wb = load_workbook(filename = _fname)
ws = wb.worksheets[0]
for _row in ws.range('A1:L'+str(ws.get_highest_row() ) ):
for _cell in _row:
_cell.style.borders.left.border_style = Border.BORDER_THIN
_cell.style.borders.right.border_style = Border.BORDER_THIN
_cell.style.borders.top.border_style = Border.BORDER_THIN
_cell.style.borders.bottom.border_style = Border.BORDER_THIN
wb.save(_fname)
所以这段代码有效,但它没有应用我期望的边框(excel中的默认边框),而且它比我想要的要多得多。我的期望是我应该能够做这样的事情:
from openpyxl.style import Border
wb = load_workbook(filename = _fname)
ws = wb.worksheets[0]
_range = ws.some_range_func('A1:L'+str(ws.get_highest_row() ) ):
_range.style.borders.all_borders = Borders.BORDER_THIN
这个功能存在吗?如果没有,有人可以请至少解释一下如何应用默认边框样式而不是这个稍微厚一点的边框吗?Border.BORDER_THICK、Border.BORDER_MEDIUM、Border.BORDER_THIN 或 Border.BORDER_HAIR 似乎都不正确。
谢谢!