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è)要求,明確下目的:
- 需要讀取對(duì)應(yīng)目錄路徑的所有對(duì)應(yīng)文件
- 按行讀取出每個(gè)對(duì)應(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)對(duì)應(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)建對(duì)應(yīng)的工作表
- write(x,y,z):參數(shù)對(duì)應(yīng)行、列、值
到此這篇關(guān)于python文件數(shù)據(jù)分析治理提取的文章就介紹到這了,更多相關(guān)python文件數(shù)據(jù)分析內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
刪除pycharm鼠標(biāo)右鍵快捷鍵打開項(xiàng)目的操作
這篇文章主要介紹了刪除pycharm鼠標(biāo)右鍵快捷鍵打開項(xiàng)目的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2021-01-01
使用Python實(shí)現(xiàn)在Excel工作表中創(chuàng)建、修改及刪除表格區(qū)域
在數(shù)據(jù)分析和自動(dòng)化處理的工作中,Excel作為一種強(qiáng)大的工具被廣泛應(yīng)用,而通過Python來操作Excel工作表中的表格,可以極大提高工作效率,下面我們就來學(xué)學(xué)如何使用Python在Excel工作表中創(chuàng)建,修改及刪除表格吧2024-12-12
Python 測(cè)試框架unittest和pytest的優(yōu)劣
這篇文章主要介紹了Python 測(cè)試框架unittest和pytest的優(yōu)劣,幫助大家更好的進(jìn)行python程序的測(cè)試,感興趣的朋友可以了解下2020-09-09
Pygame實(shí)戰(zhàn)練習(xí)之推箱子游戲
推箱子想必是很多人童年時(shí)期的經(jīng)典游戲,我們依舊能記得抱個(gè)老人機(jī)娛樂的場(chǎng)景,下面這篇文章主要給大家介紹了關(guān)于如何利用python寫一個(gè)簡(jiǎn)單的推箱子小游戲的相關(guān)資料,需要的朋友可以參考下2021-09-09
pygame學(xué)習(xí)筆記(6):完成一個(gè)簡(jiǎn)單的游戲
這篇文章主要介紹了pygame學(xué)習(xí)筆記(6):完成一個(gè)簡(jiǎn)單的游戲,本文綜合了學(xué)習(xí)過的知識(shí),完成一個(gè)簡(jiǎn)單的游戲開發(fā),是本系列文章的最后一篇,需要的朋友可以參考下2015-04-04
對(duì)python_discover方法遍歷所有執(zhí)行的用例詳解
今天小編就為大家分享一篇對(duì)python_discover方法遍歷所有執(zhí)行的用例詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-02-02
Python?round函數(shù)的基本用法與實(shí)例代碼
round()函數(shù)是Python中用于對(duì)浮點(diǎn)數(shù)進(jìn)行四舍五入的內(nèi)置函數(shù),這篇文章詳細(xì)介紹了round()函數(shù)的基本用法、參數(shù)詳解、特殊情況處理以及應(yīng)用場(chǎng)景,并提供了豐富的示例代碼,需要的朋友可以參考下2024-11-11
簡(jiǎn)單談?wù)凱ython中的json與pickle
下面小編就為大家?guī)硪黄?jiǎn)單談?wù)凱ython中的json與pickle。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-07-07
針對(duì)Pandas的總結(jié)以及數(shù)據(jù)讀取_pd.read_csv()的使用詳解
這篇文章主要針對(duì)Pandas總結(jié)以及數(shù)據(jù)讀取_pd.read_csv()的使用詳解做出了實(shí)例,講解非常全面,值得收藏,需要的朋友可以參考下2023-03-03

