今回は、Pythonがテキストデータを読み取ってDataFrame形式に変換する方法について詳しく説明します。Pythonがテキストデータを読み取ってDataFrame形式に変換するための注意事項は何ですか。実際のケースを見てみましょう。一見。 技術Q&Aでこのような質問を見かけましたが、比較的よくあるようなので別記事にしました。
プレーンテキスト形式のファイル「file_in」からデータを読み取ります。形式は次のとおりです:
は「file_out」として出力する必要があります。形式は次のとおりです:
データの元の形式 「カテゴリ:コンテンツ」で、空白行「n」がサブエントリとなっており、変換後は1行に1エントリとなり、カテゴリに応じて内容が順番に書き出されます。
読み込み後、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)
推奨読書:
オブジェクトを float データに変換する方法 Python がデータフレームの時間フィールドを処理する方法以上がPythonがテキストデータを読み取ってDataFrame形式に変換する方法の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。