python的简单实际应用(一)
初步需求:将一整个文件夹各个子目录中所有目标文件的所有对应元素的相同属性名称的不同字段全部取出写到excel表格以供下一步使用。
整体思路:(1)递归出所有目标文件的地址
(2)根据地址取出目标文件的内容
(3)匹配取出相同属性的各个字段
(4)将取出的内容放到列表中
(5)有序去重
(6)写到excel中
遇到困难:(1)初步对python的使用新手,较多时间花费在有什么库可以引用解决上。
(2)直接使用easy_install install xlwt,不能直接下载xlwt,必须先手动下载然后通过cmd快捷安装。
(3)pycharm有时反应还是有点慢,在成功安装了xlwt的情况下,一开始import xlwt还是报错,检测不到库,重新开启几次pycharm后报错消除。
(4)边写边重构内容,尽量简洁清晰思路。
(5)一开始不会用try去过滤自己不想要的报错内容让他直接跳过,下一步来拿到自己想要的内容。
代码分析:
excel效果:
部分源码:
__author__ = 'chenguangwen'
import os
import xlwt
LISTCONTAINER = []
def main():
def uniq():
func = lambda x,y:x if y in x else x + [y]
temp = reduce(func, [[], ] + LISTCONTAINER)
list_content = list(temp)
return list_content
def get_text_content(path):
file_object = open(path, 'r+')
text_content = file_object.readlines()
for line_content in text_content:
get_event_name(line_content)
file_object.close()
def write_eventname_in_excel(list_content):
def get_event_name(line_content):
startStr = 'Event ='
endStr = 'What'
try:
startIndex = line_content.index(startStr)
if startIndex>= 0:
startIndex += len(startStr)
endIndex = line_content.index(endStr)
event_name = line_content[startIndex:endIndex]
if event_name != 'null' and event_name != '':
LISTCONTAINER.append(event_name.strip())
except:
pass
if __name__ == "__main__" :
main()
整体思路:(1)递归出所有目标文件的地址
(2)根据地址取出目标文件的内容
(3)匹配取出相同属性的各个字段
(4)将取出的内容放到列表中
(5)有序去重
(6)写到excel中
遇到困难:(1)初步对python的使用新手,较多时间花费在有什么库可以引用解决上。
(2)直接使用easy_install install xlwt,不能直接下载xlwt,必须先手动下载然后通过cmd快捷安装。
(3)pycharm有时反应还是有点慢,在成功安装了xlwt的情况下,一开始import xlwt还是报错,检测不到库,重新开启几次pycharm后报错消除。
(4)边写边重构内容,尽量简洁清晰思路。
(5)一开始不会用try去过滤自己不想要的报错内容让他直接跳过,下一步来拿到自己想要的内容。
代码分析:
excel效果:
部分源码:
__author__ = 'chenguangwen'
import os
import xlwt
LISTCONTAINER = []
def main():
def uniq():
func = lambda x,y:x if y in x else x + [y]
temp = reduce(func, [[], ] + LISTCONTAINER)
list_content = list(temp)
return list_content
def get_text_content(path):
file_object = open(path, 'r+')
text_content = file_object.readlines()
for line_content in text_content:
get_event_name(line_content)
file_object.close()
def write_eventname_in_excel(list_content):
def get_event_name(line_content):
startStr = 'Event ='
endStr = 'What'
try:
startIndex = line_content.index(startStr)
if startIndex>= 0:
startIndex += len(startStr)
endIndex = line_content.index(endStr)
event_name = line_content[startIndex:endIndex]
if event_name != 'null' and event_name != '':
LISTCONTAINER.append(event_name.strip())
except:
pass
if __name__ == "__main__" :
main()