この記事では、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がファイルコンテンツを読み取る3つの方法の詳細な説明と効率の比較
以上がPythonがテキスト内のデータを読み取ってDataFrame_pythonに変換する例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。