python 将文本txt 转换 excel(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 '\n';
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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」