如何解决Python openpyxl将数字格式应用于2个不同的列范围
我试图弄清楚如何将格式应用于2个不同的列,而不进行2个单独的循环。
#Current Version:
from openpyxl import load_workbook
from openpyxl.utils.dataframe import dataframe_to_rows
from openpyxl.styles import *
from openpyxl.descriptors import (
String,Sequence,Integer,)
from openpyxl.descriptors.serialisable import Serialisable
BUILTIN_FORMATS = {
5: '"$"#,##0_);("$"#,##0)',}
frmt = BUILTIN_FORMATS[5]
for row in ws["D2:"+"D"+str(rows)]:
for cell in row:
cell.number_format = frmt
for row in ws["G2:"+"G"+str(rows)]:
for cell in row:
cell.number_format = frmt
什么可以让我做类似的事情?
for row in ws["D2:"+"D"+str(rows)+','+"G2:"+"G"+str(rows)]:
for cell in row:
cell.number_format = frmt
我正在考虑使用openpyxl.worksheet.cell_range.MultiCellRange,但是我不知道如何使它工作。
解决方法
for row in ws["D:G"]:
cells = row[0],row[-1]
for c in cells:
c.number_format = frmt
如果要从第2行开始,最好使用ws.iter_rows()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。