python脚本:txt文件转为excel

转自互联网,仅作为个人笔记,避免重复编写。

可以使用python的xlwt或openpyxl模块,后者支持大于65535行的文件。

xlwt和openpyxl模块的下载地址:https://pypi.org/

xlwt模块:

#!/bin/env python
# -*- encoding: utf-8 -*-
#-------------------------------------------------------------------------------
# purpose:     txt转换成xls
# usage: python txt2xls.py filename xlsname
#-------------------------------------------------------------------------------
import datetime
import time
import os
import sys
import xlwt #需要的模块
 
def txt2xls(filename,xlsname):  #文本转换成xls的函数,filename 表示一个要被转换的txt文本,xlsname 表示转换后的文件名
    if os.path.exists(filename):
        print('Converting xls ... ')
    f = open(filename, 'r', encoding='UTF-8')   #打开txt文本进行读取
    x = 0                #在excel开始写的位置(y)
    y = 0                #在excel开始写的位置(x)
    xls=xlwt.Workbook()
    sheet = xls.add_sheet('sheet1',cell_overwrite_ok=True) #生成excel的方法,声明excel
    while True:  #循环,读取文本里面的所有内容
        line = f.readline() #一行一行读取
        if not line:  #如果没有内容,则退出循环
            break
        for i in line.split(','):#读取出相应的内容写到x,字段分隔符需要按照实际指定
            item=i.strip()
            sheet.write(x,y,item)
            y += 1 #另起一列
        x += 1 #另起一行
        y = 0  #初始成第一列
    f.close()
    xls.save(xlsname+'.xls') #保存
 
if __name__ == "__main__":
    filename = sys.argv[1]
    xlsname  = sys.argv[2]
    txt2xls(filename,xlsname)
    print('Our task has been completed!')

openpyxl模块:

#!/bin/env python
# -*- encoding: utf-8 -*-
#-------------------------------------------------------------------------------
# purpose:     txt转换成xlsx
# usage: python txt2xlsx.py filename xlsxname
#-------------------------------------------------------------------------------
import datetime
import time
import os
import sys
#import xlwt 
import openpyxl #需要的模块
 
 
def txt2xls(filename,xlsxname):  #文本转换成xls的函数,filename 表示一个要被转换的txt文本,xlsname 表示转换后的文件名
    if os.path.exists(filename):
        print('Converting xlsx ... ')
    f = open(filename, 'r', encoding='UTF-8')   #打开txt文本进行读取
    x = 1                #在excel开始写的位置(y)
    y = 1                #在excel开始写的位置(x)
    xls=openpyxl.Workbook()
    sheet = xls.get_sheet_by_name('Sheet') 
    while True:  #循环,读取文本里面的所有内容
        line = f.readline() #一行一行读取
        if not line:  #如果没有内容,则退出循环
            break
        for i in line.split(','):#读取出相应的内容写到x,需要根据实际情况修改源文件分隔符
            item=i.strip()
            sheet.cell(row=x,column=y,value=item)
            y += 1 #另起一列
        x += 1 #另起一行
        y = 1  #初始成第一列
    f.close()
    xls.save(xlsname+'.xlsx') #保存
 
if __name__ == "__main__":
    filename = sys.argv[1]
    xlsname  = sys.argv[2]
    txt2xls(filename,xlsname)
    print('Our task has been completed!')

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值