python讀取文本中數(shù)據(jù)并轉(zhuǎn)化為DataFrame的實(shí)例
在技術(shù)問(wèn)答中看到一個(gè)這樣的問(wèn)題,感覺(jué)相對(duì)比較常見(jiàn),就單開(kāi)一篇文章寫(xiě)下來(lái)。
從純文本格式文件 “file_in”中讀取數(shù)據(jù),格式如下:
需要輸出成“file_out”,格式如下:
數(shù)據(jù)的原格式是“類(lèi)別:內(nèi)容”,以空行“\n”為分條目,轉(zhuǎn)換后變成一個(gè)條目一行,按照類(lèi)別順序依次寫(xiě)出內(nèi)容。
建議讀取后,使用pandas,把數(shù)據(jù)建立稱(chēng)DataFrame的表格。這樣方便以后處理數(shù)據(jù)。但是原格式并不是通常的表格格式,所以要先做一些簡(jiǎn)單的處理。
#coding:utf8 import sys from pandas import DataFrame #DataFrame通常來(lái)裝二維的表格 import pandas as pd #pandas是流行的做數(shù)據(jù)分析的包 #建立字典,鍵和值都從文件里讀出來(lái)。鍵是nam,age……,值是lili,jim…… dict_data={} #打開(kāi)文件 with open('file_in.txt','r')as df: #讀每一行 for line in df: #如果這行是換行符就跳過(guò),這里用'\n'的長(zhǎng)度來(lái)找空行 if line.count('\n') == len(line): continue #對(duì)每行清除前后空格(如果有的話),然后用":"分割 for kv in [line.strip().split(':')]: #按照鍵,把值寫(xiě)進(jìn)去 dict_data.setdefault(kv[0],[]).append(kv[1]) #print(dict_data)看看效果 #這是把鍵讀出來(lái)成為一個(gè)列表 columnsname=list(dict_data.keys()) #建立一個(gè)DataFrame,列名即為鍵名,也就是nam,age…… frame = DataFrame(dict_data,columns=columnsname) #把DataFrame輸出到一個(gè)表,不要行名字和列名字 frame.to_csv('file_out0.txt',index=False,header=False)
以上這篇python讀取文本中數(shù)據(jù)并轉(zhuǎn)化為DataFrame的實(shí)例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python3.5 + sklearn利用SVM自動(dòng)識(shí)別字母驗(yàn)證碼方法示例
這篇文章主要給大家介紹了關(guān)于Python3.5 + sklearn利用SVM自動(dòng)識(shí)別字母驗(yàn)證碼的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Python具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05Python數(shù)組變形的幾種實(shí)現(xiàn)方法
本文主要介紹了Python數(shù)組變形的幾種實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-05-05Python 實(shí)現(xiàn)將numpy中的nan和inf,nan替換成對(duì)應(yīng)的均值
這篇文章主要介紹了Python 實(shí)現(xiàn)將numpy中的nan和inf,nan替換成對(duì)應(yīng)的均值,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-06-06Python OpenCV實(shí)現(xiàn)攝像頭人臉識(shí)別功能
這篇文章主要介紹了Python OpenCV實(shí)現(xiàn)攝像頭人臉識(shí)別,使用Python 3和OpenCV進(jìn)行攝像頭人臉識(shí)別的基本步驟,本文結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2023-07-07分享unittest單元測(cè)試框架中幾種常用的用例加載方法
這篇文章主要介紹了unittest單元測(cè)試框架中常用的幾種用例加載方法,幫助大家更好的理解和使用python的unittest測(cè)試模塊,感興趣的朋友可以了解下2020-12-12