python脚本实现数据导出excel格式的简单方法(推荐)
下面小编就为大家带来一篇 python 脚本实现数据导出 Excel 格式的简单方法 (推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
Python 是一种面向对象、解释型计算机程序设计语言,由 Guido van Rossum 于 1989 年底发明,第一个公开发行版发行于 1991 年。Python 语法简洁而清晰,具有丰富和强大的类库。它常被昵称为胶水语言,它能够把用其他语言制作的各种模块(尤其是 C/C++)很轻松地联结在一起。
实习期间,服务器的一位师兄让我帮忙整理一下服务器的 log 数据,最终我用 Python 实现了数据的提取并将其用 Excel 格式导出。下面是我 Python 实现的源码,可以自动遍历某一文件目录下的所有文本文件,并将总的数据导出到 Excel 文件中,导出为 Excel 格式这样就比较方便统计了。
// 实现将目录下所有文件格式为. txt 的文件进行遍历统计,如果是别的格式直接将下面的. txt 改为你所需要的格式后缀就可以了,比较方便。
// 过程就是先将所有的文件中的内容提取出来写入到一个新文件中,然后再从新文件中提取数据,最后将数据写入到 Excel 文件中frompyExceleratorimport*
importos
currentpath=os.getcwd()
testlog=open('test.mak','w')
os.mkdir(r'Excel')
print"currentpath: ",currentpath
forfileinos.listdir(currentpath):
ifos.path.isfile(os.path.join(currentpath,file))==True:
iffile.find('.txt')>0://如果是别的格式直接将下面的.txt改为你所需要的格式后缀就可以了
file_=open(file,'r')
content=file_.read()
file_.close()
testlog.write(content)
print1
os.popen('log_parse.exe test.mak >> shuju.log')
print2
for_fileinos.listdir(currentpath):
ifos.path.isfile(os.path.join(currentpath,_file))==True:
if_file.find('.log')>0:
work=Workbook()
works=work.add_sheet('Sheet1')
print3
file_object=open(_file)
foriinrange(0,2):
works.col(i).width=10000
i=0
forlineinfile_object:
line=line.rstrip('\n')
print4
ifnotline.split():
i=i+1
ifline.strip():
array=line.split(':')
lineleft=array[0]
lineright=array[1]
works.write(i,0,lineleft)
works.write(i,1,lineright)
i=i+1
_file=_file.rstrip('.log')
_file='Excel\%s.xls'%_file
work.save(_file)
// 其中的 print 1 2 3 4 是我打的 log 如果不想要可以直接删掉。 使用该 Python 实现时直接将上面代码保存到 test.py 的文件中就行了。
另外中间使用到了一个 c++ 的提取可执行文件 log_parse.exe,放在下面了。使用时将其与 test.py 放在同一目录下就可以了。
如果想方便的话可以建一个. bat 文件写成命令行的形式,直接点击一下就可以自动完成所有的工作了,如下:
echo
python test.py
我自己的实现是大约 150M 文件跑了一分半的时间出结果,我认为还比较理想。
以上这篇 python 脚本实现数据导出 excel 格式的简单方法 (推荐) 就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持 PHPERZ。