前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >txt文本格式怎么转换成excel_文本格式转换为日期

txt文本格式怎么转换成excel_文本格式转换为日期

作者头像
全栈程序员站长
发布2022-09-20 14:04:03
2.1K0
发布2022-09-20 14:04:03
举报
文章被收录于专栏:全栈程序员必看

大家好,又见面了,我是你们的朋友全栈君。

将txt文本转换为excel格式,中间使用的列分割为 tab 键

一、使用xlwt模块

注:Excel 2003 一个工作表行数限制65536,列数限制256

需要模块:xlwt

模块安装:xlwt

代码语言:javascript
复制
[root@baolin shell]#sudo pip install xlwt
脚本内容

脚本内容:

代码语言:javascript
复制
[root@baolin shell]# cat t2e.py 
#!/bin/env python
# -*- encoding: utf-8 -*-
#-------------------------------------------------------------------------------
# Purpose:     txt转换成Excel
# Created:     2017-11-03
#-------------------------------------------------------------------------------
import os
import sys
import xlwt #需要的模块

def txt2xls(filename,xlsname):  #文本转换成xls的函数,filename 表示一个要被转换的txt文本,xlsname 表示转换后的文件名
    print 'converting xls ... '
    f = open(filename)   #打开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('\t'):#读取出相应的内容写到x
            item=i.strip().decode('utf8')
            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)

运行方式:

代码语言:javascript
复制
# 后缀xls会自动添加
[root@baolin shell]#python t2e.py txt文本 xls名称

二、使用xlsxwriter模块

注:当行数大于65535时,就需要使用Excel 2007 一个工作表行数限制1048576,列数限制16384

需要模块:xlsxwriter

模块安装:xlsxwriter

代码语言:javascript
复制
[root@baolin shell]#sudo pip install xlsxwriter
脚本内容

脚本内容:

代码语言:javascript
复制
#!/bin/env python
# -*- encoding: utf-8 -*-
import os
import sys
import xlsxwriter  # 当文档内容大于 65535 时使用 xlsxwriter 模块

def txt2xls(filename,xlsname):  #文本转换成xls的函数,filename 表示一个要被转换的txt文本,xlsname 表示转换后的文件名
    print('converting xls ... ')
    f = open(filename)   #打开txt文本进行读取
    x = 0                #在excel开始写的位置(y)
    y = 0                #在excel开始写的位置(x)
    xls=xlsxwriter.Workbook(xlsname+'.xlsx')                 # 创建xlsx文件

    sheet = xls.add_worksheet()     # 创建一个新的表单,默认名称为 “sheet1”,输入字符参数可指定名称

    while True:  #循环,读取文本里面的所有内容
        line = f.readline() #一行一行读取
        if not line:  #如果没有内容,则退出循环
            break
        for i in line.split('\t'):#读取出相应的内容写到x
            item=i.strip().decode('utf8')
            sheet.write(x,y,item)
            y += 1 #另起一列
        x += 1 #另起一行
        y = 0  #初始成第一列
    f.close()
    xls.close()

if __name__ == "__main__":
    filename = sys.argv[1]
    xlsname  = sys.argv[2]
    txt2xls(filename,xlsname)

运行方式:

代码语言:javascript
复制
# 后缀xls会自动添加
[root@baolin shell]#python t2e.py txt文本 xls名称

将一个目录下的所有文件都转换为excel文件

代码语言:javascript
复制
[root@baolin shell]#cat batch_to_exl.sh 
#!/bin/bash
pth="/usr/local/data_dir/data_txt/"           # 将/usr/local/data_dir/data_txt/ 目录下的所有的文件循环

mkdir /usr/local/data_dir/data_xls/ -p

for n in `ls $pth`
do
  # 执行脚本拼接的路径 执行脚本,将结果放在 其他目录(需要创建)
  python /home/baolin/shell/t2e.py ${pth}${n} /usr/local/data_dir/data_xls/${n}
done

内容参考:

代码语言:javascript
复制
http://www.cnblogs.com/zhoujinyi/archive/2013/05/07/3064785.html
http://blog.csdn.net/gumengkai/article/details/52800257
https://zhidao.baidu.com/question/565518792570332764.html
https://www.cnblogs.com/ontheway703/p/5264517.html

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/167260.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 将txt文本转换为excel格式,中间使用的列分割为 tab 键
    • 一、使用xlwt模块
      • 二、使用xlsxwriter模块
        • 将一个目录下的所有文件都转换为excel文件
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档