最近在學習python,感覺有、方便好用。
如果代碼你有用到能幫助到你,那麽給個免費評分熱心值(ps: 還沒能進影視區),多謝
---------------------------分隔符---------------------------------------------------------------
[Python] 纯文本查看 复制代码 #!/usr/bin/python
# -*- encoding: utf-8 -*-
#-------------------------------------------------------------------------------
# Purpose: txt转换成Excel
# Author: decpc
# Created: 2019-05-24
# update: 2019-05-24
#-------------------------------------------------------------------------------
import datetime
import time
import os
import sys
import xlwt #需要的模块
def parseRec(amt):
amt_indx = str(amt).index(".")#返回ant字符串以"."結束的索引值
long_inf = "{:,}".format(long(str(amt)[0:amt_indx]))#千分位隔开
del_inf = str(amt)[amt_indx+1:]
del_len = len(del_inf.strip())#strip() 方法用于移除字符串头尾指定的字符(默认为空格)
if del_len == 0:
ret_amt = "%s.00" %long_inf
return ret_amt
else:
if del_len == 1:
ret_amt = "%s.%s0" %(long_inf,del_inf)
return ret_amt
else:
ret_amt = "%s.%s" %(long_inf,del_inf)
return ret_amt
def txt2xls(filename,xlsname): #文本转换成xls的函数,filename 表示一个要被转换的txt文本,xlsname 表示转换后的文件名
print 'converting xls ... '
f = open(filename) #打开txt文本进行读取
x = 1 #在excel开始写的位置(y)
y = 0 #在excel开始写的位置(x)
xls=xlwt.Workbook()
sheet = xls.add_sheet('sheet1',cell_overwrite_ok=True) #生成excel的方法,声明excel
style = xlwt.XFStyle()#赋值style为XFStyle(),初始化样式
al = xlwt.Alignment()
al.horz = 0x02 #設置水平居中
al.vert = 0x01 #设置垂直居中
style.alignment = al
borders = xlwt.Borders()#单元格增加边框
borders.left = 1
borders.right = 1
borders.top = 1
borders.buttom = 1
frame = xlwt.XFStyle()
frame.borders = borders
sheet.col(0).width = (20*200)#设置单元格宽度和长度
sheet.col(1).width = (20*200)
sheet.col(2).width = (20*200)
sheet.col(3).width = (20*367)
sheet.col(4).width = (20*100)
sheet.col(5).width = (20*300)
sheet.col(6).width = (20*300)
sheet.col(7).width = (20*300)
sheet.col(8).width = (20*250)
sheet.col(9).width = (20*200)
sheet.col(10).width = (20*200)
sheet.col(11).width = (20*200)
sheet.col(12).width = (20*200)
sheet.write(0,0,'日期'.strip().decode('utf8'))
sheet.write(0,1,'日期'.strip().decode('utf8'))
sheet.write(0,2,'日期'.strip().decode('utf8'))
sheet.write(0,3,'日期'.strip().decode('utf8'))
sheet.write(0,4,'日期'.strip().decode('utf8'))
sheet.write(0,5,'日期'.strip().decode('utf8'))
sheet.write(0,6,'日期'.strip().decode('utf8'))
sheet.write(0,7,'日期'.strip().decode('utf8'))
sheet.write(0,8,'日期'.strip().decode('utf8'))
sheet.write(0,9,'日期'.strip().decode('utf8'))
sheet.write(0,10,'金額'.strip().decode('utf8'))
sheet.write(0,11,'金額'.strip().decode('utf8'))
sheet.write(0,12,'金額'.strip().decode('utf8'))
while True: #循环,读取文本里面的所有内容
line = f.readline() #一行一行读取
#print(line)
body_inf = line.split('|')
if not line: #如果没有内容,则退出循环
break
else:
for y in range(0,13):
if y in (10,11,12):
item=parseRec(body_inf[y].strip().decode('utf8'))
sheet.write(x,y,item)
else:
item=body_inf[y].strip().decode('utf8')
sheet.write(x,y,item)
x += 1 #另起一行
y = 0 #初始成第一列
f.close()
xls.save(xlsname+'.xls') #保存
if __name__ == "__main__":
filename = sys.argv[1] + ".txt"
xlsname = sys.argv[1]
txt2xls(filename,xlsname)
|