社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

如何用python从文件中读取“well”

Blodorn • 5 年前 • 1505 次点击  

我知道它的格式与readline()和tokenize相同。但我想有一种方法可以读得更多,怎么说,“漂亮的眼睛”。

我要读的文件格式如下:

Nom NMS-01
MAC AAAAAAAAAAA
UDPport 2019
TCPport 9129

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/54007
 
1505 次点击  
文章 [ 2 ]  |  最新文章 5 年前
Christian Sloper
Reply   •   1 楼
Christian Sloper    6 年前

import pandas as pd

pd.read_csv('input.txt',sep = ' ',header=None,index_col=0)

这将为您提供一个可以进一步操作的数据帧:

0       1
Nom     NMS-01
MAC     AAAAAAAAAAA
UDPport 2019
TCPport 9129
Daniel Pryden
Reply   •   2 楼
Daniel Pryden    6 年前

你的问题似乎暗示了“标记化”是一种神秘而复杂的过程。但事实上,你要做的就是 标志法

def read_file_data(data_file_path):
    result = {}
    with open(data_file_path) as data_file:
        for line in data_file:
            key, value = line.split(' ', maxsplit=1)
            result[key] = value
    return result

这并不复杂,也不需要太多代码,也不需要第三方库,而且很容易使用:

data = read_file_data('path/to/file')
print(data['Nom'])  # prints "NMS-01"

现在,这个实现使得 关于文件的结构。除其他外,它假定:

  • 整个文件的结构是键/值对
  • 文件中的每一行都是键/值对(没有注释或空行)
  • 值不能包含换行符

其中一些假设可能是错误的,但对于您提供的数据样本来说,它们都是正确的。

语言 你在分析, 只是你编写的代码,使语言与输入的文本相匹配。