如何在不删除其他工作表的情况下将多个工作表添加到Excel文件中,以及如何在第65563行之后的第二个工作表中写入末尾

2024-09-17 18:22:53 发布

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

我有一个超过840000行、大约140列的文件,当我想将该文件从文本文件转换为Excel电子表格文件时,错误如下所示:

value error: row index was 65536, not allowed by .xls format

如您所知,Excel最多只能写65536行!你知道吗

我需要创建多个Excel工作表,第一个工作表包含65535行,第二个工作表从65536尽可能完成,我需要大量的Excel电子表格将所有文本文件转换为Excel电子表格。 如果有其他方法可以将所有文本文件转换成一张表格的Excel,我非常感谢您。你知道吗

注意:如果在一个小文件上运行代码,它将被正确处理而没有错误。你知道吗

将文本文件转换为Excel电子表格,或创建多个Excel工作表,并通过将文本文件拆分为多个工作表来转换文本文件。你知道吗

import xlwt
import io
book = xlwt.Workbook()
ws = book.add_sheet('First Sheet')  # Add a sheet

with io.open("test.txt", mode="r", encoding="utf-8") as f:

     for row_idx, row in enumerate(f):
     row = row.rstrip()
     ws.write(row_idx, 0, row[0:8])
     .
     .
     .
     .
book.save("exceltest.xls")

Tags: 文件ioimportwsvalue错误xlsexcel
1条回答
网友
1楼 · 发布于 2024-09-17 18:22:53

您需要每65535行添加一个新工作表。你知道吗

比如:

import xlwt
import io
book = xlwt.Workbook()
sheetnumber = 0

with io.open("test.txt", mode="r", encoding="utf-8") as f:

     for row_idx, row in enumerate(f):
        if row_idx % 65535 = 0:
            sheetnumber += 1
            ws = book.add_sheet('Sheet ' + sheetnumber)  # Add a sheet

        row = row.rstrip()
        ws.write(row_idx, 0, row[0:8])
        .
        .
        .
        .
book.save("exceltest.xls")

相关问题 更多 >