首頁 >後端開發 >Python教學 >python讀取文字資料並轉換為DataFrame格式的方法詳解

python讀取文字資料並轉換為DataFrame格式的方法詳解

php中世界最好的语言
php中世界最好的语言原創
2018-04-12 09:31:2816815瀏覽

這次帶給大家python讀取文字資料並轉換為DataFrame格式的方法詳解,python讀取文字資料並轉換為DataFrame的注意事項有哪些,下面就是實戰案例,一起來看一下。

在技術問答中看到一個這樣的問題,感覺相對比較常見,就單開一篇文章寫下來。

從純文字格式檔案「file_in」讀取數據,格式如下:

需要輸出成“file_out”,格式如下:

#資料的原始格式是“類別:內容”,以空白行「\n」為分條目,轉換後變成一個條目一行,依照類別順序依序寫出內容。

建議讀取後,使用pandas,把資料建立稱為DataFrame的表格。這樣方便以後處理資料。但原格式並不是通常的表格格式,所以先做一些簡單的處理。

#coding:utf8
import sys
from pandas import DataFrame  #DataFrame通常来装二维的表格
import pandas as pd      #pandas是流行的做数据分析的包
#建立字典,键和值都从文件里读出来。键是nam,age……,值是lili,jim……
dict_data={}
#打开文件
with open('file_in.txt','r')as df:
  #读每一行
  for line in df:
    #如果这行是换行符就跳过,这里用'\n'的长度来找空行
    if line.count('\n') == len(line):
      continue
    #对每行清除前后空格(如果有的话),然后用":"分割
    for kv in [line.strip().split(':')]:
      #按照键,把值写进去
      dict_data.setdefault(kv[0],[]).append(kv[1])
#print(dict_data)看看效果
#这是把键读出来成为一个列表
columnsname=list(dict_data.keys())
#建立一个DataFrame,列名即为键名,也就是nam,age……
frame = DataFrame(dict_data,columns=columnsname)
#把DataFrame输出到一个表,不要行名字和列名字
frame.to_csv('file_out0.txt',index=False,header=False)

我相信看了本文案例你已經掌握了方法,更多精彩請關注php中文網其它相關文章!

推薦閱讀:

object怎麼轉換成float資料

python怎麼處理dataframe的時間欄位

#

以上是python讀取文字資料並轉換為DataFrame格式的方法詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn