社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

python将.txt列表转换为.xls

Atlas_Apple • 5 年前 • 174 次点击  

我发现这个有用的脚本可以将.txt文件列表转换为XLS文件。我还是一个Python新手,在修复脚本中的错误时遇到了一些问题。使用的脚本如下:

mypath = "I give my path here"

from os import listdir
from os.path import isfile, join
textfiles = [ join(mypath,f) for f in listdir(mypath) if isfile(join(mypath,f)) and '.txt' in  f]

def is_number(s):
    try:
        float(s)
        return True
    except ValueError:
        return False        

import xlwt
import xlrd

style = xlwt.XFStyle()
style.num_format_str = '#,###0.00'  

for textfile in textfiles:
    f = open(textfile, 'r+')
    row_list = []
    for row in f:
        row_list.append(row.split(';'))
    column_list = zip(*row_list)
    workbook = xlwt.Workbook()
    worksheet = workbook.add_sheet('Sheet1')
    i = 0
    for column in column_list:
        for item in range(len(column)):
            value = column[item].strip()
            if is_number(value):
                worksheet.write(item, i, float(value), style=style)
            else:
                worksheet.write(item, i, value)
        i+=1
    workbook.save(textfile.replace('.txt', '.xls'))

脚本为前10个文件生成输出文件,这些文件都小于1MB。脚本fails en为~42MB的文件生成以下错误消息:

 File
 "C:\Users\me\AppData\Local\Continuum\anaconda3\lib\site-packages\xlwt\Row.py",
 line 37, in __init__
     raise ValueError("row index was %r, not allowed by .xls format" % rowx)
 ValueError: row index was 65536, not allowed by .xls format

有人能帮我解决这个错误吗?

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/37921
 
174 次点击  
文章 [ 1 ]  |  最新文章 5 年前
c4ffrey
Reply   •   1 楼
c4ffrey    6 年前

.xls

.xlsx