python的簡單實際應用(一)
阿新 • • 發佈:2019-02-11
初步需求:將一整個資料夾各個子目錄中所有目標檔案的所有對應元素的相同屬性名稱的不同欄位全部取出寫到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
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
LISTCONTAINER.append(event_name.strip())
except:
pass
if __name__ == "__main__" :
main()