Python二进制矩阵到Ex

2024-05-16 16:30:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我想把二进制矩阵导出到excel。。 我在用我从Write list of lists to excel file using xlwt学到的东西

我有个尺寸误差 我有一个二进制矩阵2221x9947和以下代码:

def wrapper(fn, *args, **kwargs):
    def wrapped():
        return fn(*args, **kwargs)
    return wrapped

def int_to_str_matriz(matriz):
    for i in xrange(len(matriz)):
        for j in xrange(len(matriz[i])):
            matriz[i][j] = str(matriz[i][j])
    return matriz

def escreve_matriz_xml(rows, sheet):
    for i, row in enumerate(rows):
        for j, col in enumerate(row):
            sheet.write(i, j, col)

def exportar_matriz(matriz):
    book = xlwt.Workbook()
    name = "matrizbinaria.xls"
    sheet1 = book.add_sheet("teste", cell_overwrite_ok=True)
    exportar = wrapper(escreve_matriz_xml(matriz, sheet1))
    book.save(name)
    book.save(TemporaryFile())

我首先使用mb = int_to_str_matriz(matriz)将矩阵上的int转换为str,然后将新矩阵传递给exportar_matriz(mb)

我试着用这个,然后

^{pr2}$

如果我尝试另一个选项,在我引用的主题上,使用

def escreve_matriz_xml(rows, sheet):
    rows = [', '.join(row) for row in rows]
    for i, strrow in enumerate(rows):
        sheet.write(i, 0, strrow)

它是有效的,问题是这样是没有用的,因为我需要每个列都有(0,1),这样我就可以分析数据了。。 有什么解决办法吗? 我在没有str转换的情况下尝试了,但得到了同样的错误。。。在


Tags: toinforreturndef矩阵xmlsheet
1条回答
网友
1楼 · 发布于 2024-05-16 16:30:11

您将无法使用xlwt执行此操作。相反,请考虑导出为.csv格式(使用^{}^{}、或{a3}等库,或者不借助库)。在

.xls(excel2003)文件类型限制为65536行和256 columns,因此无法使用xlwt导出2221x9947矩阵(除非先将其转换为不同的形状)。对以后的文件类型,如.xlsx(excel2007)取消了此限制,但xlwt库当前不支持此格式。在

相关问题 更多 >