首页 > 解决方案 > 如何将列表列表写入带有颜色的excel文件

问题描述

我有一个列表,如

x=[['My??50','Name??70','is??90'],['this??90','is??80','another??40','line??70'],['lets??90','take??90','another??90','line??70']]

我想将其写入 excel/csv 文件。条件是我想在'??'之前写下存在的文本 仅在excel文件中。'??' 后面的数字 将用于检查单元格是否应该着色。如果'??'后面的数字 小于 90 我想把它染成红色。例如,

text='My??50'.split('??')[0]
number=int('My??50'.split('??')[-1])
if number<90:
   write(text with colour red)

我试图在熊猫中使用 Styler,但它没有锻炼。

标签: pythonpandas

解决方案


我能够解决这个问题,

from xlwt import Workbook
import xlwt
book = Workbook()
sheet1 = book.add_sheet('Sheet 1')

x=[['My??50','Name??70','is??90'],['this??90','is??80','another??40','line??70'],
   ['lets??90','take??90','another??90','line??70']]


st = xlwt.easyxf('pattern: pattern solid;')
st.pattern.pattern_fore_colour = 20
for i, l in enumerate(x):
    for j, col in enumerate(l):
        print(col)
        if int(col.split('??')[-1])<85:
            sheet1.write(i, j, col.split('??')[0],st)
        else:
            sheet1.write(i, j, col.split('??')[0])
book.save('C:\\Users\\sandeep.sharma\\Desktop\\vishal\\data\\simple.xls')

推荐阅读