【发布时间】:2020-10-25 18:39:56
【问题描述】:
给定以下数据:
import pandas as pd
import numpy as np
# sample data
np.random.seed(1)
np.random.seed(1)
df = pd.DataFrame(
np.random.randint(low=0, high=1000, size=(6, 5)),
columns=["X", "a", "b", "c", "d"],
index=["a", "b", "X", "d", "e", "X"],
)
我可以使用以下方法创建一个带有格式化边界的 xlsx 文件:
with pd.ExcelWriter("testing.xlsx") as writer:
# need to create xlsx output for this example
sheet_name = "Sheet1"
df.to_excel(writer, sheet_name=sheet_name)
workbook = writer.book
worksheet = writer.sheets[sheet_name]
# create horizontal line
row_range = (3, 3)
col_range = (1, 8)
worksheet.conditional_format(
row_range[0],
col_range[0],
row_range[1],
col_range[1],
{
"type": "no_errors",
"format": workbook.add_format(
{
"top": 2,
"border_color": "red",
}
),
},
)
# create vertical line
row_range = (1, 9)
col_range = (4, 4)
worksheet.conditional_format(
row_range[0],
col_range[0],
row_range[1],
col_range[1],
{
"type": "no_errors",
"format": workbook.add_format(
{
"left": 2,
"border_color": "red",
}
),
},
)
但是格式不正确(或不符合要求),看起来像:
不正确的部分是:
似乎我无法格式化单元格两次?这是一个问题。
这个问题可以概括为从创建重叠边界到创建重叠条件格式,我对 xlsxwriter 说得不够熟悉。
【问题讨论】:
标签: python pandas formatting conditional-formatting xlsxwriter