python 将文本txt 转换 excel(xls)
生活随笔
收集整理的這篇文章主要介紹了
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 ' ';
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)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SAP UI5 应用开发教程之六十三 -
- 下一篇: qq资料访客记录在哪看(登录QQ邮箱)