python输出文本和值_python读取文本中数据并转化为DataFrame的实例
在技術(shù)問(wèn)答中看到一個(gè)這樣的問(wèn)題,感覺相對(duì)比較常見,就單開一篇文章寫下來(lái)。
從純文本格式文件 “file_in”中讀取數(shù)據(jù),格式如下:
需要輸出成“file_out”,格式如下:
數(shù)據(jù)的原格式是“類別:內(nèi)容”,以空行“\n”為分條目,轉(zhuǎn)換后變成一個(gè)條目一行,按照類別順序依次寫出內(nèi)容。
建議讀取后,使用pandas,把數(shù)據(jù)建立稱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={}
#打開文件
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(':')]:
#按照鍵,把值寫進(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è)參考,也希望大家多多支持我們。
本文標(biāo)題: python讀取文本中數(shù)據(jù)并轉(zhuǎn)化為DataFrame的實(shí)例
本文地址: http://www.cppcns.com/jiaoben/python/224966.html
總結(jié)
以上是生活随笔為你收集整理的python输出文本和值_python读取文本中数据并转化为DataFrame的实例的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: python得读音_python3 -
- 下一篇: 怎么用python画饼状图_Python