【发布时间】:2019-12-09 12:10:08
【问题描述】:
我有一个 pandas 数据框,我正在使用 to_excel 将其导出到 Excel 文件。所有单元格中都有长度为 2 的伪随机生成的字符串(字母数字或仅数字)。我想将一些单元格的背景涂成灰色。每次运行 .py 文件时,我总是想为完全相同的单元格着色,但由于单元格的内容基本上是随机的,所以我不能对单元格中的值使用某些条件来为它们着色。
我查看了xlsx writer documentation on conditional formatting 并尝试将它与this question 上接受的答案结合使用。作为旁注,如果我只是复制粘贴已接受答案的第一个代码块,那运行得很好!
这是我的代码:
df = pd.DataFrame({'Col1': ['A1', 'B2', '3C', '4D', 'E5', '6F', 'G7'],
'Col2': ['00', '01', '02', '03', '04', '05', '06']})
writer = pd.ExcelWriter('shaded.xlsx', engine='xlsxwriter')
df.to_excel(writer, sheet_name='Sheet1')
workbook = writer.book
worksheet = writer.sheets['Sheet1']
shadedFormat = workbook.add_format({'bg_color': 'gray'})
worksheet.conditional_format('B3:B5', {'type': 'text',
'criteria': 'not equal to',
'value': 'longString',
'format': shadedFormat})
writer.save()
python 解释器没有返回任何错误,但是当我打开 .xlsx 文件时,弹出窗口提示“我们发现 'shaded.xlsx' 中的某些内容存在问题。你想让我们尝试尽可能多地恢复?”在说是时,它会打开另一个窗口,上面写着“修复的部分:/xl/worksheets/sheet1.xml 部分带有 XML 错误。灾难性故障第 2 行,第 1267 列。”并且所有列都没有阴影。
我想消除错误并将指定的单元格设置为灰色。
感谢您的任何帮助/建议!
【问题讨论】:
标签: python python-3.x pandas xlsx xlsxwriter