Maison  >  Article  >  développement back-end  >  Explication détaillée de la façon dont Python lit les données texte et les convertit au format DataFrame

Explication détaillée de la façon dont Python lit les données texte et les convertit au format DataFrame

php中世界最好的语言
php中世界最好的语言original
2018-04-12 09:31:2816753parcourir

Cette fois, je vais vous apporter une explication détaillée de la méthode python de lecture des données texte et de leur conversion au format DataFrame. Quelles sont les précautions pour la lecture et la conversion des données texte par Python. au format DataFrame ? Ce qui suit est un cas pratique, jetons un coup d'œil.

J'ai vu une question comme celle-ci dans une séance de questions-réponses techniques. Elle semblait relativement courante, j'ai donc écrit un article à ce sujet.

Lire les données du fichier au format texte brut "file_in" au format suivant :

doit être sorti sous la forme "file_out", le format est le suivant :

Le format original des données est "catégorie : content", avec des lignes vides "n" signifie des sous-entrées. Après la conversion, cela devient une entrée par ligne et le contenu est écrit par ordre de catégorie.

Il est recommandé d'utiliser des pandas pour créer une table appelée DataFrame après avoir lu les données. Cela facilitera le traitement ultérieur des données. Mais le format d'origine n'est pas le format de tableau habituel, donc un traitement simple doit d'abord être effectué.

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

Je pense que vous maîtrisez la méthode après avoir lu le cas dans cet article. Pour des informations plus intéressantes, veuillez prêter attention aux autres articles connexes sur le site Web chinois de php !

Lecture recommandée :

Comment convertir un objet en données flottantes

Comment python gère le champ temporel du dataframe

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn