繁体   English   中英

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

[英]How do I add more than one sheet to Excel file without deleting the other sheets and how to write in 2nd sheet after line 65563 to the end file

我有一个超过840,000行,约140列的文件,并且当我要将文件从文本文件转换为Excel SpreadSheet文件时,错误如下所示:

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

如您所知,Excel不能写超过65,536行!

我需要创建多个Excel工作表,第一个工作表包含65535行,第二个工作表从65536到最大程度地完成,并且我需要大量的Excel SpreadSheet才能将所有Text文件转换为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")

您需要每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")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM