把txt文件转换成xlsx文件.md
2020-06-08 本文已影响0人
平凡的运维之路
处理大文件txt转换成xlsx格式
- 代码
#!/usr/bin/python
#coding:utf8
"""
1、此脚本用于,读取文件格式化成列表,根据设置大小阈值,进行切换存储文件
2、实例化之后使用append方法时,会出现内存溢出不系统kill掉情况,就需要设置每个文件写入指定行,进行替换
"""
import openpyxl
def Toxls(filename, xlsname): # 文本转换成xls的函数,filename 表示一个要被转换的txt文本,xlsname 表示转换后的文件名
print('converting xlsx ... ')
CountLine = 1500
lineNumber = 0
filenumber = 0
xls = openpyxl.Workbook()
sheet = xls.get_sheet_by_name('Sheet')
#行首头部信息
headsmg = ["录音文件","sessionid","客户号码","外显号码","坐席工号","坐席分机","开始时间","结束时间"]
sheet.append(headsmg)
with open(filename,'r') as f:
for line in f.readlines() :
line = line.strip().split(",")
#使用列表写入xlsx文件
sheet.append(line)
lineNumber += 1
if int(lineNumber) >= int(CountLine):
filenumber += 1
# print(sheet)
xls.save(xlsname + "_" + str(filenumber) +'.xlsx')
xls = openpyxl.Workbook()
sheet = xls.get_sheet_by_name('Sheet')
headsmg = ["录音文件", "sessionid", "客户号码", "外显号码", "坐席工号", "坐席分机", "开始时间", "结束时间"]
sheet.append(headsmg)
lineNumber = 0
if __name__ == "__main__":
txtfilename="C:\\Users\\Root\\Desktop\\final_0251210053-2.txt"
xlsname="C:\\Users\\Root\\Desktop\\jsdx-0211270039"
Toxls(txtfilename, xlsname)