python文件數(shù)據(jù)分析治理提取
前提提要
python2.0有無法直接讀取中文路徑的問題,需要另外寫函數(shù)。python3.0在2018年的時(shí)候也無法直接讀取。
現(xiàn)在使用的時(shí)候,發(fā)現(xiàn)python3.0是可以直接讀取中文路徑的。
需要自帶或者創(chuàng)建幾個(gè)txt文件,里面最好寫幾個(gè)數(shù)據(jù)(姓名,手機(jī)號(hào),住址)
要求
寫代碼的時(shí)候最好,自己設(shè)幾個(gè)要求,明確下目的:
- 需要讀取對應(yīng)目錄路徑的所有對應(yīng)文件
- 按行讀取出每個(gè)對應(yīng)txt文件的記錄
- 使用正則表達(dá)式獲取每行的手機(jī)號(hào)
- 將手機(jī)號(hào)碼存儲(chǔ)到excel中
思路
- 1)讀取文件
- 2)讀取數(shù)據(jù)
- 3)數(shù)據(jù)整理
- 4)正則表達(dá)式匹配
- 5)數(shù)據(jù)去重
- 6)數(shù)據(jù)導(dǎo)出保存
代碼
import glob import re import xlwt filearray=[] data=[] phone=[] filelocation=glob.glob(r'課堂實(shí)訓(xùn)/*.txt') print(filelocation) for i in range(len(filelocation)): file =open(filelocation[i]) file_data=file.readlines() data.append(file_data) print(data) combine_data=sum(data,[]) print(combine_data) for a in combine_data: data1=re.search(r'[0-9]{11}',a) phone.append(data1[0]) phone=list(set(phone)) print(phone) print(len(phone)) #存到excel中 f=xlwt.Workbook('encoding=utf-8') sheet1=f.add_sheet('sheet1',cell_overwrite_ok=True) for i in range(len(phone)): sheet1.write(i,0,phone[i]) f.save('phonenumber.xls')
運(yùn)行結(jié)果
會(huì)生成一個(gè)excel文件
分析
import glob import re import xlwt
globe用來定位文件,re正則表達(dá)式,xlwt用于excel
1)讀取文件
filelocation=glob.glob(r'課堂實(shí)訓(xùn)/*.txt')
指定目錄下的所有txt文件
2)讀取數(shù)據(jù)
for i in range(len(filelocation)): file =open(filelocation[i]) file_data=file.readlines() data.append(file_data) print(data)
將路徑下的txt文件循環(huán)讀取,按序號(hào)依次讀取文件
打開每一次循環(huán)對應(yīng)的文件
將每一次循環(huán)的txt文件的數(shù)據(jù)按行讀取出來
使用append()方法將每一行的數(shù)據(jù)添加到data列表中
輸出一下,可以看到將幾個(gè)txt的文件數(shù)據(jù)以字列形式存在同一個(gè)列表
3)數(shù)據(jù)整理
combine_data=sum(data,[])
列表合并成一個(gè)列表
4)正則表達(dá)式匹配外加數(shù)據(jù)去重
print(combine_data) for a in combine_data: data1=re.search(r'[0-9]{11}',a) phone.append(data1[0]) phone=list(set(phone)) print(phone) print(len(phone))
set()函數(shù):無序去重,創(chuàng)建一個(gè)無序不重復(fù)元素集
6)數(shù)據(jù)導(dǎo)出保存
#存到excel中 f=xlwt.Workbook('encoding=utf-8') sheet1=f.add_sheet('sheet1',cell_overwrite_ok=True) for i in range(len(phone)): sheet1.write(i,0,phone[i]) f.save('phonenumber.xls')
- Workbook('encoding=utf-8'):設(shè)置工作簿的編碼
- add_sheet('sheet1',cell_overwrite_ok=True):創(chuàng)建對應(yīng)的工作表
- write(x,y,z):參數(shù)對應(yīng)行、列、值
到此這篇關(guān)于python文件數(shù)據(jù)分析治理提取的文章就介紹到這了,更多相關(guān)python文件數(shù)據(jù)分析內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python實(shí)現(xiàn)淘寶秒殺功能的示例代碼
這篇文章主要介紹了Python實(shí)現(xiàn)淘寶秒殺功能,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-01-01Django?+?Taro?前后端分離項(xiàng)目實(shí)現(xiàn)企業(yè)微信登錄功能
這篇文章主要介紹了Django?+?Taro?前后端分離項(xiàng)目實(shí)現(xiàn)企業(yè)微信登錄功能,本文記錄一下企業(yè)微信登錄的流程,結(jié)合示例代碼給大家分享實(shí)現(xiàn)思路,需要的朋友可以參考下2022-04-04利用Python腳本在Nginx和uwsgi上部署MoinMoin的教程
這篇文章主要介紹了利用Python腳本在Nginx和uwsgi上部署MoinMoin的教程,示例基于CentOS操作系統(tǒng),需要的朋友可以參考下2015-05-05python文字轉(zhuǎn)語音實(shí)現(xiàn)過程解析
這篇文章主要介紹了python文字轉(zhuǎn)語音實(shí)現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-11-11python實(shí)現(xiàn)微信打飛機(jī)游戲
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)微信打飛機(jī)游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-03-03使用jupyter notebook將文件保存為Markdown,HTML等文件格式
這篇文章主要介紹了使用jupyter notebook將文件保存為Markdown,HTML等文件格式,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-04-04