python 将文本txt 转换 excel(xls)

摘要:
有许多工具可以将MySQL数据库中的数据直接转储到excel表格模式,例如navicat、sqlyog等。但我认为最好使用navicat,但navicat需要收费。您可以通过选择输出文件将数据导出为.txt格式,然后进行转换。txt格式通过python脚本转换为xls格式。

现在有很多工具可以将mysql数据库中数据直接dump为excel表格模式,例如,navicat,sqlyog等,但是个人认为最好用是navicat,但是navicat需要收费。

通过select into outfile 可将数据导出为.txt格式,然后再通过python脚本将.txt格式转换成xls格式。

MySQL导出文本语句:

SELECT * FROM table_name INTO OUTFILE "/tmp/tmp_xls.txt" FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '
';

Python封装脚本:

#!/bin/env python
# -*- encoding: utf-8 -*-
import datetime
import time
import os
import sys
import xlwt #需要的模块,安装:pip install 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(','):#读取出相应的内容写到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)

执行命令:

[root@hankyoon ]# python python_xls.py tmp_xls.txt abc

 [root@hankyoon ]# ls abc.xls
  abc.xls

免责声明:文章转载自《python 将文本txt 转换 excel(xls)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇【新特性速递】FineUIPro/Mvc/Core 全新移动端访问体验(示例首页)!Linux命令:chown下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Asp.net程序中用NPOI生成标准Excel报表,导入导出一应俱全

  上班第一份工作就是做程序数据的导入导出,听起来似乎挺Easy的,开始我也这样认为,但是在实际操作中却不同了...   以往的导出数据是用HTML标签拼接成Table,然后在一行一列的显示成Excel,其实不然,这种Excel是HTML版本的Excel,并不是标准的Excel,所以如果我们把刚导出的数据进行修改保存然后接着导入来更新数据库中的数据就no、...

python下编译py成pyc和pyo

其实很简单,用python -m py_compile file.py python -m py_compile /root/src/{file1,file2}.py编译成pyc文件。也可以写份脚本来做这事:Code: import py_compile py_compile.compile('path') //path是包括.py文件名的路径 用py...

Excel表格导入Mysql数据库,一行存入多条数据的前后台完整实现思路(使用mybatis框架)

现在有一张Excel表格: 存入数据库时需要这样存放: 现在需要将Excel表格做处理,将每一行拆分成多条数据存入数据库。 1.首先在前台jsp页面画一个按钮:,加入点击事件: <td style="vertical-align:top;padding-left:2px;"> <a class="btn btn-light b...

python(数字Number)

数字 Python 数字数据类型用于存储数值。 数据类型是不允许改变的,这就意味着如果改变数字数据类型的值,将重新分配内存空间 Python 支持三种不同的数值类型: 整型(int) - 通常被称为是整型或整数,是正或负整数,不带小数点。Python3 整型是没有限制大小的,可以当作 Long 类型使用,所以 Python3 没有 Python2 的 Lo...

Python—模块

Python—模块 一、模块模块,是用一堆代码实现了某个功能的代码集合,模块分为三种:自定义模块(自己定义)、内置模块(python自带)、开源模块导入模块(1)、导入一个py文件,解释器解释该py文件(2)、导入一个包,解释器解释该包下的 __init__.py 文件 #模块导入import modulefrom module.xx import xxf...

《深度剖析CPython解释器》20. Python类机制的深度解析(第四部分): 实例对象的创建、以及属性访问

楔子 介绍完类对象之后,我们来介绍实例对象。我们之前费了老鼻子劲将类对象剖析了一遍,但这仅仅是万里长征的第一步。因为Python虚拟机执行时,在内存中兴风作浪的是一个个的实例对象,而类对象只是幕后英雄。 通过class类对象创建实例对象 我们还以之前的代码为例: class Girl: name = "夏色祭" def __init__(...