用python第三方库xlwt解决数据提取后存到execl
来源:互联网 发布:魔兽之路隐藏英雄数据 编辑:程序博客网 时间:2024/05/22 12:15
在做文本处理的时候需要将txt里的部分文件提取到execl中,因为刚开始学python不太熟悉,正则表达式也是初学,是一头雾水,就度娘了一下,别人都提到xlwt是处理excel文本极好的,而且百度知道上的截取字段到execl的程序也用到了xlwt,就度娘到xlwt的下载地址:
https://pypi.python.org/pypi/xlwt/#downloads
此地址如果不容易下的话可到百度盘下载:
http://pan.baidu.com/s/1mg8ED2g 里面是xlwt-1.0.0
当时搜到百度知道作为参考的程序地址找不到了,贴下他的部分程序:
#!/usr/bin/pythonimport xlwtwb = xlwt.Workbook()ws = wb.add_sheet('shujue')f = open(r'e:\shuju.txt')x = f.readline()y = x.split()print (y)上面是读取一行shuju.txt里面的内容,然后以行里面的空格分割成几个字串,然后组成一个list就是y,然后把y打印出来,有参考了xlwt下载页面的Quick Start:
import xlwtfrom datetime import datetimestyle0 = xlwt.easyxf('font: name Times New Roman, color-index red, bold on', num_format_str='#,##0.00')style1 = xlwt.easyxf(num_format_str='D-MMM-YY')wb = xlwt.Workbook() #?ws = wb.add_sheet('A Test Sheet') #新建一个execl sheetws.write(0, 0, 1234.56, style0) #把1234.56以style0的格式放到excel中的第一行的第一列中ws.write(1, 0, datetime.now(), style1) #把现在的时间以style1的格式放到第二行的第一列中ws.write(2, 0, 1) #把1放到第三行的第一列中ws.write(2, 1, 1) #把1放到第三行的第二列中ws.write(2, 2, xlwt.Formula("A3+B3")) #把第三行的第一列和第二列相加再放到第三行的第三列中wb.save('example.xls') #保存到examle.xls中
结合上面再结合python的一些基础知识,如列表元素的遍历方法,for循环以及一些比较就能完成基本的数据截取。
假设我的shuju.txt的文件中有成对的[]和()将某些数据分割开:如
hell [] tianya dongci daci[] () love me love my doggood morning ()[] see hello to () [] everyaaa () hehe cocos python () [] very goodding ling [] () dingling () ling lingda da de () [] ma ti我要把把()或[]出现第一次后把后面的数据给截取出来,放到excel中,并要求()和[]起始的要不同编号,程序如下:
#!/usr/bin/pythonimport xlwtstyle0 = xlwt.easyxf('font: name Times New Roman, color-index red, bold on')#红色字体,加粗wb = xlwt.Workbook()ws = wb.add_sheet('A Test Sheet', cell_overwrite_ok=True) #cell...=True是防止重复操作一个单元格报错f = open(r'e:\shuju.txt')loop = 0 #控制写入execl的行loop_test = 0 #控制以[]开始的出现的次序loop_sub = 0 #控制以()开始出现的次序temp_str = "" #做缓存的字符串,循环添加空格用到loop_zk = 0 #控制截取字符串的范围for j in range(300): #txt文件要小于300行 x = f.readline() #读取一行数据 y = x.split() #以空格分割为若干字符串 for i in y: loop_zk += 1 #记录()或[]出现在列表的哪个位置,便于截取后面的数据 if ((i == "[]") or (i == "()")) and (len(y) > loop_zk): #(len(y)>loop_zk)来保证()和[]后面还有数据 if(i == "[]"): loop_test += 1 ws.write(loop, 0, loop_test, style0) for s in y[loop_zk:]: temp_str += (s + " ") ws.write(loop, 1, temp_str, style0) elif(i == "()"): loop_sub += 1 ws.write(loop, 0, loop_sub) for s in y[loop_zk:]: temp_str += (s + " ") ws.write(loop, 1, temp_str) loop += 1 #excel写入位置移动一行 temp_str = "" #temp_str清空 break #找到一个()或[]后就跳出此行的搜索 loop_zk = 0 #()和[]位置清零 wb.save('e:\shuju.xls') #将数据存到execl中运行结果如下:
ok~~~~
0 0
- 用python第三方库xlwt解决数据提取后存到execl
- 安装python第三方库:xlwt及出错ImportError: No module named setuptools的解决方法
- python第三方库——xlrd和xlwt操作Excel文件学习
- Python第三方库——xlrd&xlwt读写Excel表
- PyThon第三方库
- 第三方python库
- Python第三方库
- python第三方库
- python 6-5 如何读写excel文件 使用第三方库xlrd 和 xlwt,这两个库分别用于excel读和写
- 用bash升级python第三方库
- python数据挖掘需要的第三方库学习
- 抓包,第三方数据提取和使用
- windows+python第三方库
- python第三方库介绍
- python 加载第三方库
- 一些python第三方库
- 常用Python第三方库
- Python安装第三方库
- 网络流 HDU 3549 Flow Problem
- 29-HTML-15-HTML(GET和POST区别)
- 学英语从背单词开始,但背单词要适可而止
- spring属性的注入实例
- 29-HTML-16-HTML(服务端GET和POST区别)
- 用python第三方库xlwt解决数据提取后存到execl
- 在虚拟机中安装windows
- 29-HTML-17-HTML(服务端和客户端校验的问题)
- 《开源公开课分享》:Java开源框架案例分享
- Jsoup解析Html教程
- 29-HTML-18-HTML(常见的其他标签)
- Android单元测试异常总结---Test run failed:Unable to find instrumentation target package
- 【HDU5379】【Mahjong tree】
- 还在为工作发愁?学JavaScript吧