ホームページ  >  記事  >  バックエンド開発  >  Pythonがテキスト内のデータを読み取ってDataFrame_pythonに変換する例

Pythonがテキスト内のデータを読み取ってDataFrame_pythonに変換する例

不言
不言オリジナル
2018-04-10 15:26:425141ブラウズ

この記事では、Python がテキスト内のデータを読み取り、DataFrame に変換する例を紹介します。これは特定の参考価値があり、困っている人に役立つことを願っています

技術的な Q&A でそのような質問を見て、次のように感じました。比較的よくあることなので、別の記事に書いておきます。

プレーンテキスト形式のファイル「file_in」からデータを読み取ります。形式は次のとおりです:

は「file_out」として出力する必要があります。形式は次のとおりです:

データの元の形式 「カテゴリ:コンテンツ」で、空白行「n」がサブエントリとなっており、変換後は1行に1エントリとなり、カテゴリに応じて内容が順番に書き出されます。

読み込み後のデータからDataFrameというテーブルを作成するにはpandasを使うのがおすすめです。これにより、後でデータを処理するのが容易になります。ただし、元の形式は通常の表形式ではないため、最初にいくつかの簡単な処理を行う必要があります。

#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)

関連する推奨事項:

PythonがWordのテキストコンテンツを読み取る

Pythonがファイルコンテンツを読み取る3つの方法の詳細な説明と効率の比較


以上がPythonがテキスト内のデータを読み取ってDataFrame_pythonに変換する例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。